使用ScheduledExecutorService
'sscheduleAtFixedRate()
定期运行一段代码,而不是创建一个Runnable
具有永久循环的新代码以及Thread.sleep()
导致线程在所需时间段内休眠的 a 有什么好处?
其中一种方法是否有性能提升?
使用ScheduledExecutorService
'sscheduleAtFixedRate()
定期运行一段代码,而不是创建一个Runnable
具有永久循环的新代码以及Thread.sleep()
导致线程在所需时间段内休眠的 a 有什么好处?
其中一种方法是否有性能提升?
使用的最大好处ScheduledExecutorService
是不需要编写代码,而且经过了很好的测试。它还支持立即取消任务,您可以安排多个任务。
另一个好处是其他开发人员知道它是做什么的ScheduledExecutorService
,他们可以阅读 javadoc,他们可以在公共论坛上提出有关它的问题并获得帮助,而对于自定义代码则更难获得帮助。
ScheduledExecutorService的 javadoc也有一个很好的例子,说明如何创建一个每 10 秒执行一小时的任务,然后被取消。