Java:在定时间隔后运行脚本
如何每十分之一秒激活或运行一个循环?我想在一段时间后运行一些脚本 每隔秒或类似的时间运行脚本。(注意每个屏幕上的粗体字体)你睡着了 请查看Java:在定时间隔后运行脚本,java,Java,如何每十分之一秒激活或运行一个循环?我想在一段时间后运行一些脚本 每隔秒或类似的时间运行脚本。(注意每个屏幕上的粗体字体)你睡着了 请查看Thread.sleep(),但请注意,您可能真的不希望整个程序处于睡眠状态,因此您可能希望创建一个线程来显式包含循环及其睡眠行为 请注意,睡眠仅延迟毫秒数;而且,这个数字并不是一个完美的保证。如果您需要更好的时间分辨率,则必须使用System.currentTimeMillis()并自己进行“时间数学”。最典型的情况是,当你运行某个东西时,你希望它每分钟运行
Thread.sleep()
,但请注意,您可能真的不希望整个程序处于睡眠状态,因此您可能希望创建一个线程来显式包含循环及其睡眠行为
请注意,睡眠仅延迟毫秒数;而且,这个数字并不是一个完美的保证。如果您需要更好的时间分辨率,则必须使用System.currentTimeMillis()
并自己进行“时间数学”。最典型的情况是,当你运行某个东西时,你希望它每分钟运行一次。必须通过在脚本之前和之后抓取System.currentTimeMillis()
来捕获脚本运行的时间,然后您需要睡眠剩余的1000-scriptRunTime
毫秒。您需要睡眠
请查看Thread.sleep()
,但请注意,您可能真的不希望整个程序处于睡眠状态,因此您可能希望创建一个线程来显式包含循环及其睡眠行为
请注意,睡眠仅延迟毫秒数;而且,这个数字并不是一个完美的保证。如果您需要更好的时间分辨率,则必须使用System.currentTimeMillis()
并自己进行“时间数学”。最典型的情况是,当你运行某个东西时,你希望它每分钟运行一次。必须通过在脚本前后抓取System.currentTimeMillis()
来捕获脚本运行的时间,然后您将需要睡眠剩余的1000-scriptRunTime
毫秒。您可以使用。e、 g
您只需定义一个Runnable
。您不必担心定义/调度线程等问题。有关更多信息/选项,请参阅Javadoc(如果您想要更高的复杂性和灵活性)您可以使用。e、 g
您只需定义一个Runnable
。您不必担心定义/调度线程等问题。有关更多信息/选项,请参阅Javadoc(如果您想要更高的复杂性和灵活性),因为Java 1.5:
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(new RepeatedTask(), 0, 100, TimeUnit.MILLISECONDS);
及
(请记住,在执行完毕后,请将执行器向下移动())自Java 1.5以来:
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(new RepeatedTask(), 0, 100, TimeUnit.MILLISECONDS);
及
(请记住在完成时使用
shotton()
您的执行器)是否有办法使用此选项,但每1000毫秒运行一次脚本,而不是仅运行一次?在脚本运行一次后可能会重新运行脚本?您可以使用scheduleAtFixedRate()是否有办法使用此选项,但每1000毫秒运行一次脚本,而不仅仅是一次?可能在脚本运行一次后重新运行它?您可以使用scheduleAtFixedRate()
private class RepeatedTask implements Runnable {
@Override
public void run() {
// do something here
}
}