Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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_Multithreading_Concurrency - Fatal编程技术网

Java 最好的方法是什么。执行器框架还是普通线程?线程必须设计为每小时运行一次并执行批处理操作?

Java 最好的方法是什么。执行器框架还是普通线程?线程必须设计为每小时运行一次并执行批处理操作?,java,multithreading,concurrency,Java,Multithreading,Concurrency,我在考虑每次手术后让线程睡眠1小时。一种while循环运行。当您想要在特定的时间间隔内运行任务时,您应该定期使用类来执行任务 当您在完成任务后使线程睡眠一小时时,间隔实际上是一小时加上执行时间,而不是一小时。即使批处理任务只需要几秒钟,时间差也会随着时间累积 这意味着随着时间的推移,任务运行的实际时间将变得越来越不可预测。我不知道批处理过程在可预测的时刻发生或每周执行168次对您的用例有多重要,但当它重要时,使用睡眠的解决方案将非常糟糕。简单的方法是使用调度程序(计时器)。执行者通常更可取,也可

我在考虑每次手术后让线程睡眠1小时。一种while循环运行。

当您想要在特定的时间间隔内运行任务时,您应该定期使用类来执行任务

当您在完成任务后使线程睡眠一小时时,间隔实际上是一小时加上执行时间,而不是一小时。即使批处理任务只需要几秒钟,时间差也会随着时间累积


这意味着随着时间的推移,任务运行的实际时间将变得越来越不可预测。我不知道批处理过程在可预测的时刻发生或每周执行168次对您的用例有多重要,但当它重要时,使用睡眠的解决方案将非常糟糕。

简单的方法是使用调度程序(计时器)。执行者通常更可取,也可以看到这个问题:同意。我将使用计时器。:)