如何每十分之一秒激活或运行一个循环?经过一段时间后,我想运行一些脚本。
运行脚本每秒或类似的东西。 (注意每个上的粗体字体)
答案 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
毫秒。