newScheduleThreadPool方法实现展示

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

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

查看ScheduledThreadPoolExecutor线程池

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

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

使用代码实操演示

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

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

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

06-22 04:52