首页   快速返回

ScheduledThreadPoolExecutor使用介绍     所属分类 java
ScheduledThreadPoolExecutor 用于在指定时间或周期性的执行任务
这种任务叫计划任务 

public interface ScheduledExecutorService extends ExecutorService

ScheduledFuture schedule(Runnable command,long delay, TimeUnit unit)
 ScheduledFuture schedule(Callable callable,long delay, TimeUnit unit)
ScheduledFuture scheduleAtFixedRate(Runnable command,long initialDelay,long period,TimeUnit unit)
ScheduledFuture scheduleWithFixedDelay(Runnable command,long initialDelay,long delay,TimeUnit unit)


schedule 用于延迟一定的时间之后执行任务 delay指定延迟时间

scheduleAtFixedRate scheduleWithFixedDelay 用于周期性执行任务

任务之间的时间间隔 interval 
任务执行时间 executeTime

对于    scheduleAtFixedRate   interval = max(executeTime,period)
对于 scheduleWithFixedDelay   interval = executeTime + delay

任务执行周期会随着执行时间的变化而变化
同一个任务执行不会重叠 并发执行 

任务执行过程中抛出异常 任务不会被继续执行

例子代码 ScheduledTest.java 
https://gitee.com/dyyx/hellocode/blob/master/src/dyyx/conc/ScheduledTest.java

上一篇     下一篇
爱因斯坦语录

极简主义生活

乔布斯语录:活着就是为了改变世界

java线程中断机制

职场十六金句

西游记团队成功秘诀