ScheduledExecutorService vs Timer vs Handler

pvl*_*spk 14 concurrency android timer java.util.concurrent

使用ScheduledExecutorService/ Timer/有Handler什么优缺点 ?据我所知,在Android中而不是Timer它需要使用Handler,但是怎么样ScheduledExecutorService

据我所知Handler,ScheduledExecutorService只是相对时间,对吗?

Max*_*lle 5

这三个都允许您在不同的(例如非主要)线程上执行任务.该处理器可以让你用一个消息传递演员模式线程之间的安全通信.它不允许你做时间/延迟/等.

一个ScheduledExecutorService的是一个非常通用的线程管理解决方案.您使用特定数字将其初始化为工作线程,然后为其提供工作单元.您可以延迟/时间和重复工作单位.

定时器类有一个简单的API,它类似于一个ScheduledExecutorService的一次性,一个线程使用.官方API建议不要使用此类,而是滚动自己的ScheduledExecutor.

  • 你可以使用Handler#postDelayed(Runnable,interval) (4认同)