JDK自带的构建线程池的方式之newScheduleThreadPool

顾名思义newScheduleThreadPool是一个定时任务的线程池,这个线程池可以定时一定周期去执行任务,也可以实现延迟多久去执行任务一次。

newScheduleThreadPool方法实现展示

  • 基于查看这个方法不难发现,该方法是基于ScheduledThreadPoolExecutor来进行构建的,创建的是ScheduledThreadPoolExecutor线程池。

在这里插入图片描述

查看ScheduledThreadPoolExecutor线程池

  • 查看方法体内部还是正常的线程池创建,不过在此基础之上增加了定时任务的功能。实现原理是基于DelayedWorkQueue来进行延迟实现。周期性执行也就是通过任务执行完毕之后,再次丢到阻塞队列中进行实现。
  • ScheduledThreadPoolExecutor是通过ScheduledThreadPoolExecutor线程池去完成。本质上还是正常的线程池创建方式。
    在这里插入图片描述
  • 从这里可以看出也就是在基础之上实现了定时任务的功能。原理上显而易见是通过DelayedWorkQueue队列来进行实现。线程任务执行完毕之后被放回到阻塞队列中。

在这里插入图片描述

使用代码实操演示

在这里插入图片描述
在这里插入图片描述

单例线程池的部分方法执行效果演示

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50503886/article/details/131318601