ScheduledThreadPool定时调度线程池工作原理
2017-04-09 15:25:36 0 举报
ScheduledThreadPool是Java中的一个线程池,它主要用于执行定时任务和周期性任务。它的工作原理是通过内部维护一个工作队列,将需要执行的任务提交到这个队列中,然后由线程池中的空闲线程去取出任务并执行。同时,ScheduledThreadPool内部还维护了一个优先级队列,用于存放定时任务。当到达预定的执行时间时,线程池会从优先级队列中取出任务并执行。如果线程池中没有空闲线程,那么任务会被放入工作队列中等待执行。通过这种方式,ScheduledThreadPool能够有效地管理线程资源,避免了频繁创建和销毁线程带来的开销。
作者其他创作
大纲/内容
主线程
线程
无界阻塞队列DelayQueue
2.add(ScheduledFutureTask task)
............
corePool
3.核心线程并发循环从任务队列中take(),执行run()任务
ScheduledThreadPool
4.执行完任务后,若任务周期性任务,则计算下次任务开始时间time,重新加入到任务队列中
队头,延时时间最短,最先创建的任务
0 条评论
下一页