4

使用ScheduledExecutorService'sscheduleAtFixedRate()定期运行一段代码,而不是创建一个Runnable具有永久循环的新代码以及Thread.sleep()导致线程在所需时间段内休眠的 a 有什么好处?

其中一种方法是否有性能提升?

4

1 回答 1

8

使用的最大好处ScheduledExecutorService是不需要编写代码,而且经过了很好的测试。它还支持立即取消任务,您可以安排多个任务。

另一个好处是其他开发人员知道它是做什么的ScheduledExecutorService,他们可以阅读 javadoc,他们可以在公共论坛上提出有关它的问题并获得帮助,而对于自定义代码则更难获得帮助。

ScheduledExecutorService的 javadoc也有一个很好的例子,说明如何创建一个每 10 秒执行一小时的任务,然后被取消。

于 2011-05-31T06:32:31.007 回答