Java线程池总结

1.计划线程池            

ScheduledExecutorService  scheduledExecutorService   =    Excuters.newSingleThreadScheduledExecutor();

有两个方法

//At Fixed Rate 以固定的速度:经过初始延迟initialDelay,以period时间段间隔执行

scheduledExecutorService.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) ;

//withFixedDelay  以固定的延迟:初始延迟initialDelay,某次任务执行完毕,经过delay 再执行下一次任务

scheduledExecutorService.scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) 

1.scheduleAtFixedRate

Java线程池总结

Java线程池总结

结果:

初始时间38分47秒,经过5秒延迟+首次1s后,以后每次任务都是间隔10秒。因为间隔是10s ,执行是1s ,1s<10s,所以间隔时间把执行时间给覆盖了。

Java线程池总结

2.scheduleWithFixedDelay

Java线程池总结

Java线程池总结

结果:首次5s延迟+1s ,其后 每次是经过了11s ,因为 是 执行1s ,再经过10s 执行下次任务。两者是串行,上面的是两者并行

Java线程池总结