ScheduledThreadPoolExecutor
是JDK中提供的定时任务处理类。官方推荐优于Timer。
1、构造方法
- ScheduledThreadPoolExecutor(int corePoolSize) 使用给定核心池大小创建一个新定定时线程池。
- ScheduledThreadPoolExecutor(int corePoolSize,ThreadFactoryThreadFactory)可以指定线程创建工厂,可以指定线程的
name
和id
属性。
调度方法
- schedule(Callable callable,long delay,TimeUnit unit):延时delay时间后执行callable。
- scheduleAtFixedRate(Runnable task,long initialDedlay,long period,TimeUnit unit):延迟initialDelay时间后执行任务,然后以固定的速率执行任务。
本次任务开始后开始计时,如果本次任务执行时间比间隔时长长,那么下次任务在本次任务结束后马上开始
- scheduleWithFixedDelay(Runnable task,long initialDedlay,long period,TimeUnit unit):延迟initialDelay时间后执行任务,然后已固定的间隔时间执行任务。
本次任务结束后,才开始下次任务的倒计时,两次任务尾头固定时间