Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:在定时间隔后运行脚本_Java - Fatal编程技术网

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
    }
}