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

这篇具有很好参考价值的文章主要介绍了JDK自带的构建线程池的方式之newScheduleThreadPool。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

newScheduleThreadPool方法实现展示

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

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

查看ScheduledThreadPoolExecutor线程池

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

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

使用代码实操演示

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

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

JDK自带的构建线程池的方式之newScheduleThreadPool文章来源地址https://www.toymoban.com/news/detail-495164.html

到了这里,关于JDK自带的构建线程池的方式之newScheduleThreadPool的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 线程池的核心线程数该怎么设置

    为什么要用线程池?线程池中的线程可以重复利用,避免了重复创建线程造成的资源开销。在线程的执行时间比较短,任务比较多的时候非常适合用线程池。 如果运行的线程少于核心线程,会尝试去开启一个新的核心线程(addWorker),如果有空间的核心线程,也不会去使用,

    2024年02月08日
    浏览(36)
  • 聊聊线程池的预热

    本文主要研究一下线程池的预热 java/util/concurrent/ThreadPoolExecutor.java ThreadPoolExecutor定义了prestartCoreThread,用于启动一个核心线程 java/util/concurrent/ThreadPoolExecutor.java prestartAllCoreThreads用于启动所有的核心线程 ThreadPoolExecutor提供了prestartCoreThread方法,用于启动一个核心线程,提供了

    2024年02月08日
    浏览(39)
  • 线程池的执行流程

    如果所示,就是线程池的执行过程,可以分为三个主要步骤: 1.提交任务后会首先进行当前工作线程数与核心线程数的比较,如果当前工作线程数小于核心线程数,则直接调用 addWorker() 方法创建一个核心线程去执行任务; 2.如果工作线程数大于核心线程数,即线程池核心线程

    2023年04月09日
    浏览(39)
  • Java线程池的入门

    一、线程池的优势 1.降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗。 2.提高系统相应速度,当有任务到达时,通过复用已存在的行程,无需等待新线程的创建便能立刻执行。 3.方便线程并发数的管控,因为线程若是无限制创建,可能会导致内存

    2024年02月08日
    浏览(44)
  • python------线程池的应用

    在python中经常会使用异步,线程池,进程池,解决io操作,在爬虫中并不建议使用进程池(消耗过大) 目标:会使用线程池 1:导入 我们可以看到了只有在demo1完全运行完毕才会运行demo2,这个时候是单任务 2:基本使用方法 我们可以看到这时候2个线程的一起跑 3:线程池的基本使用步骤  

    2024年02月15日
    浏览(39)
  • 线程池的五种状态

    1、RUNNING 状态说明:线程池处于RUNNING状态时,能够接收新任务以及对已添加的任务进行处理。 状态切换:线程池的初始状态为RUNNING。换句话说线程池一旦被创建,就处于RUNNING状态,且线程池中的任务数为0 2、SHUTDOWN 状态说明:线程池处于SHUTDOWN状态时,不接收新任务,但能

    2023年04月09日
    浏览(74)
  • Java多线程之线程池的参数和配置

    在Java多线程编程中,线程池是一种常见的技术,用于管理线程的创建和销毁。线程池中的线程可以被重复利用,从而减少了线程的创建和销毁的开销,提高了程序的性能。在Java中,线程池的参数和配置非常重要,不同的参数和配置会影响线程池的性能和行为。 Java线程池的主

    2024年02月16日
    浏览(40)
  • SpringBoot线程池和Java线程池的实现原理

    @ 目录 使用默认的线程池 方式一:通过 @Async 注解调用 方式二:直接注入 ThreadPoolTaskExecutor 线程池默认配置信息 SpringBoot 线程池的实现原理 覆盖默认的线程池 管理多个线程池 JAVA常用的四种线程池 newCachedThreadPool newFixedThreadPool newScheduledThreadPool newSingleThreadExecutor Java 线程池中

    2023年04月11日
    浏览(48)
  • android中线程池的选择

    线程池是把一个或多个线程通过统一的方式进行调度和重复使用的技术。 避免了因为线程过多而带来使用上的开销。 在安卓开发中,为了更好的性能体验,我们在选择线程池的时候,需要从具体需求来考虑,主要考虑以下几方面: 1、从任务的优先级; 2、任务的执行时间长

    2023年04月23日
    浏览(43)
  • JAVA基础:线程池的使用

    目录 1.概述 2.线程池的优势​​​​​​​ 2.1.线程池为什么使用自定义方式? 2.2.封装的线程池工具类有什么好处? 3.线程池的七大参数 3.线程池的创建 3.1. 固定数量的线程池 3.2. 带缓存的线程池 3.3. 执⾏定时任务 3.4. 定时任务单线程 3.5. 单线程线程池 3.6. 根据当前CPU⽣成线

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包