Java:在定时间隔后运行脚本

时间:2010-10-26 20:54:42

标签: java

如何每十分之一秒激活或运行一个循环?经过一段时间后,我想运行一些脚本。

运行脚本秒或类似的东西。 (注意每个上的粗体字体)

3 个答案:

答案 0 :(得分:3)

您可以使用TimerTask。 e.g。

    timer = new Timer();
    timer.schedule(new RemindTask(), seconds*1000);

您只需要定义Runnable即可。您不必担心定义/调度线程等。有关更多信息/选项,请参阅Timer Javadoc(如果您希望更多更多复杂性和灵活性,请参阅Quartz

答案 1 :(得分:2)

自Java 1.5以来:

ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(new RepeatedTask(), 0, 100, TimeUnit.MILLISECONDS);

private class RepeatedTask implements Runnable {
    @Override
    public void run() {
        // do something here
    }
}

(完成后请记住shotdown()执行人)

答案 2 :(得分:0)

你睡了。

查看Thread.sleep(),但要注意您可能真的不希望整个程序进入休眠状态,因此您可能希望创建一个线程来显式包含循环及其休眠行为。

请注意,睡眠只会延迟几毫秒;而且,这个数字并不是一个完美的保证。如果您需要更好的时间分辨率,则必须使用System.currentTimeMillis()并自己进行“时间数学运算”。最典型的情况是当你运行某些东西并希望它能够运行时。必须通过在脚本之前和之后抓取System.currentTimeMillis()来捕获脚本运行的时间,然后您需要休眠剩余的1000 - scriptRunTime毫秒。