定时器线程:只负责"什么时候该做什么"
↓ (到时间了,把任务提交到线程池)
工作线程池:只负责"做什么"
↓ (执行实际任务)
为什么定时器线程不直接执行任务?
如果任务耗时 1 秒,定时器线程被阻塞 1 秒,期间所有定时器都延迟了!
所以定时器线程只做"触发",工作线程做"执行"。
定时器线程:只负责"什么时候该做什么"
↓ (到时间了,把任务提交到线程池)
工作线程池:只负责"做什么"
↓ (执行实际任务)
为什么定时器线程不直接执行任务?
如果任务耗时 1 秒,定时器线程被阻塞 1 秒,期间所有定时器都延迟了!
所以定时器线程只做"触发",工作线程做"执行"。