iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >springboot使用线程池方法是什么
  • 167
分享到

springboot使用线程池方法是什么

2023-06-22 05:06:17 167人浏览 薄情痞子
摘要

本篇内容主要讲解“SpringBoot使用线程池方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot使用线程池方法是什么”吧!线程池创建@Configuration@En

本篇内容主要讲解“SpringBoot使用线程池方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习springboot使用线程池方法是什么”吧!

线程池创建

@Configuration@EnableAsyncpublic class TaskPoolConfig {    @Bean("syncExecutorPool")    public Executor taskExecutor() {        ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();        // 核心池大小        taskExecutor.setCorePoolSize(5);        // 最大线程数        taskExecutor.setMaxPoolSize(10);        // 队列程度        taskExecutor.setQueueCapacity(100);        // 线程空闲时间        taskExecutor.seTKEepAliveSeconds(60);        // 线程前缀名称        taskExecutor.setThreadNamePrefix("syncExecutor--");        // 该方法用来设置 线程池关闭 的时候 等待 所有任务都完成后,再继续 销毁 其他的 Bean,        // 这样这些 异步任务 的 销毁 就会先于 数据库连接池对象 的销毁。        taskExecutor.setWaitForTasksToCompleteOnShutdown(true);        // 任务的等待时间 如果超过这个时间还没有销毁就 强制销毁,以确保应用最后能够被关闭,而不是阻塞住。        taskExecutor.setAwaitTerminationSeconds(60);        // 线程不够用时由调用的线程处理该任务        taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());        return taskExecutor;    }}

线程池参数

核心线程数量:CorePoolSize
看业务场景设置(我通常设置为CPU核心*1)

最大线程数量:MaxPoolSize
当核心线程数量都在使用状态时,会调用最大线程数量里的线程,使用的总线程不会超过最大线程数量,其余则等待(我通常设置为CPU核心*2)

队列程度:QueueCapacity
线程队列的大小

线程空闲时间:KeepAliveSeconds

线程前缀名称:ThreadNamePrefix

停机策略:WaitForTasksToCompleteOnShutdown
该方法用来设置 线程池关闭 的时候 等待 所有任务都完成后,再继续 销毁 其他的 Bean,这样这些 异步任务 的 销毁 就会先于 数据库连接池对象 的销毁。

任务的等待时间:AwaitTerminationSeconds
任务的等待时间 如果超过这个时间还没有销毁就 强制销毁,以确保应用最后能够被关闭,而不是阻塞住

拒接策略:RejectedExecutionHandler
线程不够用时由调用的线程处理该任务

线程池测试1(核心线程数量)

springboot使用线程池方法是什么

结果:线程池的核心线程数量轮训执行

线程池测试2(当核心线程数量和最大线程数量不够时)

随机睡眠0-10000毫秒
new Random().nextInt(10000)

springboot使用线程池方法是什么

结果:

当5个核心线程数量不够用时,使用最大线程数量里的线程
当最大线程数量不够用时,使用主线程执行该任务

// 线程不够用时由调用的线程处理该任务
taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());

到此,相信大家对“springboot使用线程池方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: springboot使用线程池方法是什么

本文链接: https://www.lsjlt.com/news/302618.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot使用线程池方法是什么
    本篇内容主要讲解“springboot使用线程池方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot使用线程池方法是什么”吧!线程池创建@Configuration@En...
    99+
    2023-06-22
  • springboot集成线程池的方法是什么
    在Spring Boot中集成线程池可以通过以下方法进行: 添加依赖:在pom.xml文件中添加以下依赖: org.s...
    99+
    2023-10-21
    springboot
  • SpringBoot线程池和Java线程池怎么使用
    这篇文章主要介绍“SpringBoot线程池和Java线程池怎么使用”,在日常操作中,相信很多人在SpringBoot线程池和Java线程池怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringB...
    99+
    2023-07-06
  • 线程池是什么?线程池(ThreadPoolExecutor)使用详解
    点一点,了解更多https://www.csdn.net/ 本篇文章将详细讲解什么是线程池,线程池的参数介绍,线程池的工作流程,使用Executors创建常见的线程池~~~ 目录 点一点,了解更多 文章目录 一、线程池的概念 1.1线...
    99+
    2023-09-03
    java 数据结构 jvm 面试 java-ee
  • Java线程池工作原理和使用方法是什么
    这篇文章主要介绍“Java线程池工作原理和使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java线程池工作原理和使用方法是什么”文章能帮助大家解决问题。1. 为什么要使用线程池使用线程...
    99+
    2023-07-04
  • java线程池创建的方法是什么
    在Java中,线程池可以使用以下两种方法来创建: 使用`Executors`类中的静态方法来创建线程池: ExecutorSer...
    99+
    2023-10-25
    java
  • spring配置线程池的方法是什么
    在Spring中配置线程池的方法有两种: 使用XML配置文件: 首先,在Spring的XML配置文件中添加一个元素,指定线程池...
    99+
    2023-10-25
    spring
  • Java线程池优化的方法是什么
    这篇文章主要介绍“Java线程池优化的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java线程池优化的方法是什么”文章能帮助大家解决问题。升级版线程池的优化新增了4种拒绝策略。分别为:M...
    99+
    2023-06-29
  • quartz线程池配置的方法是什么
    要配置Quartz线程池,可以使用以下方法:1. 在Quartz配置文件中配置线程池属性:可以在quartz.properties文...
    99+
    2023-09-18
    quartz
  • java线程池实现的方法是什么
    Java中线程池的实现方法是通过使用java.util.concurrent包中的ThreadPoolExecutor类来创建和管理...
    99+
    2023-10-11
    java
  • c++线程池实现的方法是什么
    C++线程池的实现方法可以使用C++中的多线程库,如std::thread和std::mutex等来实现。以下是一个简单的C++线程...
    99+
    2023-10-26
    c++
  • tomcat线程池调优的方法是什么
    Tomcat线程池调优的方法包括以下几个方面: 调整线程池大小:根据系统负载和并发请求量来调整线程池大小,确保线程池能够满足系统...
    99+
    2024-03-12
    tomcat
  • springboot使用线程池(ThreadPoolTaskExecutor)示例
    目录线程池创建线程池参数线程池测试1(核心线程数量)线程池测试2(当核心线程数量和最大线程数量不够时)总结代码仓库:gitee 线程池创建 @Configuration @Enab...
    99+
    2024-04-02
  • springboot自帶线程池ThreadPoolTaskExecutor使用
    不管是阿里,还是华为java开发手册,都会有一条建议,就是让开发者不要使用Executors去创建线程池,而是使用构造函数ThreadPoolExecutor的方式来创建,并设置合理...
    99+
    2023-05-14
    springboot自帶线程池ThreadPoolTaskExecutor springboot ThreadPoolTaskExecutor
  • spring线程池插数据的方法是什么
    在Spring中,可以使用`ThreadPoolTaskExecutor`来创建一个线程池,并使用`execute`方法将任务提交到...
    99+
    2023-10-25
    spring
  • Android线程池是什么
    本篇内容主要讲解“Android线程池是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android线程池是什么”吧!我们都知道线程池的用法,一般就是先new一个ThreadPoolExec...
    99+
    2023-06-22
  • 使用python线程池的好处是什么
    小编给大家分享一下使用python线程池的好处是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python可以做什么Python是一种编程语言,内置了许多有效...
    99+
    2023-06-14
  • Python中多线程和线程池的使用方法
    Python是一种高级编程语言,它在众多编程语言中,拥有极高的人气和使用率。Python中的多线程和线程池是其强大的功能之一,可以让我们更加高效地利用CPU资源,提高程序的运行速度。本篇博客将介绍Py...
    99+
    2023-10-12
    python
  • Python线程池的正确使用方法
    目录Python线程池的正确使用1、为什么要使用线程池呢?2、线程池怎么用呢?3、如何非阻塞的获取线程执行的结果4、线程池的运行策略Python线程池的正确使用 1、为什么要使用线程...
    99+
    2024-04-02
  • SpringBoot线程池和Java线程池的使用和实现原理解析
    目录SpringBoot线程池和Java线程池的用法和实现原理使用默认的线程池方式一:通过@Async注解调用方式二:直接注入 ThreadPoolTaskExecutor...
    99+
    2023-05-15
    SpringBoot线程池和Java线程池用法 SpringBoot线程池
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作