17

ScheduledExecutorService使用/ Timer/的优缺点是 Handler什么?正如我在 Android 中所理解的那样,Timer它不是需要使用的Handler,但是呢ScheduledExecutorService

据我了解HandlerScheduledExecutorService仅适用于相对时间,对吗?

4

1 回答 1

5

这三个都允许您在不同的(例如非主)线程上执行任务。Handler允许您使用消息传递 Actor 模式在线程之间进行安全通信。它不允许您进行计时/延迟/等。

ScheduledExecutorService是一个非常通用的线程管理解决方案。你用一定数量的工作线程初始化它,然后给它工作单元。您可以延迟/计时和重复工作单元。

Timer类有一个类似于 ScheduledExecutorService的简单 API,用于一次性、单线程使用。官方 API 建议不要使用此类,而是使用您自己的 ScheduledExecutor。

于 2015-05-20T16:19:22.417 回答