ScheduledThreadPoolExecutor继承了ThreadPoolExecutor并实现了ScheduledExecutorService接口。
线程池队列是DelayedWorkQueue,其和DelayedQueue类似,是一个延迟队列。
ScheduledFutureTask是具有返回值的任务,继承自FutureTask。
FutureTask的内部有一个变量state用来表示任务的状态,一开始状态为NEW,所有状态为![XE_)]H1H($}46`U4`V)VG(H.png](/uploads/projects/jiangmengqi-rss54@dfng81/34efa7f774581798efc135fb007b8f4a.png)
状态转换:
ScheduledFutureTask内部还有一个变量period用来表示任务的类型
● period=0,说明当前任务是一次性的,执行完毕后就退出了。
● period为负数,说明当前任务为fixed-delay任务,是固定延迟的定时可重复执行任务。
● period为正数,说明当前任务为fixed-rate任务,是固定频率的定时可重复执行任务。
