java - ScheduledExecutorService 与使用 Thread.sleep() 滚动您自己的 Runnable 之间的区别

标签 java multithreading scheduled-tasks scheduledexecutorservice

使用 ScheduledExecutorService 有什么好处?的 scheduleAtFixedRate()定期运行一段代码而不是创建一个新的 Runnable有一个永远的循环加上一个 Thread.sleep()这会导致线程 hibernate 所需的时间?

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

最佳答案

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

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

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

关于java - ScheduledExecutorService 与使用 Thread.sleep() 滚动您自己的 Runnable 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183749/

相关文章:

PHP/Windows Task Scheduler - 如何从 PHP 创建新任务?

windows - Windows 10 的 "task scheduler"存储日志文件在哪里?

java - 从 geotools Filter 对象恢复或重建 CQL 字符串

java - Android - Java - 我们无法实例化接口(interface) - 那么光标是什么

java - 从文本文件中读取并忽略空格

c# - 线程、列表和循环不是一个好主意吗?

mysql - 在 mysql 中创建每周计划事件

java - 在 JNI 中修改的 Mat 不反射(reflect)在 Java 中的更改

c - 使用 pthreads 管理链表

.net - ThreadPool.QueueUserWorkItem 完成事件?