万字总结最全Java线程池ThreadPoolExecutor面试题(二)

您所在的位置:网站首页 java面试题线程池 万字总结最全Java线程池ThreadPoolExecutor面试题(二)

万字总结最全Java线程池ThreadPoolExecutor面试题(二)

#万字总结最全Java线程池ThreadPoolExecutor面试题(二)| 来源: 网络整理| 查看: 265

4.2 方法定义4.2.1 ExecutorService

1.png

4.2.2 ScheduledExecutorServiceschedule

image.png

image.png

以上两种都是创建并执行一个一次性任务, 过了延迟时间就会被执行。

scheduleAtFixedRate

image.png

创建并执行一个周期性任务。过了给定的初始延迟时间,会第一次被执行。执行过程中发生了异常,那么任务就停止。

一次任务执行时长超过了周期时间,下一次任务会等到该次任务执行结束后,立刻执行,这也是它和scheduleWithFixedDelay的重要区别

scheduleWithFixedDelay

创建并执行一个周期性任务。过了初始延迟时间,第一次被执行,后续以给定的周期时间执行。执行过程中发生了异常,那么任务就停止。

一次任务执行时长超过了周期时间,下一 次任务会在该次任务执行结束的时间基础上,计算执行延时。

对于超过周期的长时间处理任务的不同处理方式,这是它和scheduleAtFixedRate的重要区别。

实例测试例子

image.png

测试实现

1.png

运行结果

1.png

可以看出超过core的线程都在等待,线程池线程数量为何达不到最大线程数呢?那这个参数还有什么意义, 让我们继续往下阅读吧!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3