SpringBoot普通消息队列线程池配置
1 package com.liuhuan.study.config;
2
3 import com.google.common.util.concurrent.ThreadFactoryBuilder;
4 import org.springframework.context.annotation.Bean;
5 import org.springframework.context.annotation.Configuration;
6
7 import java.util.concurrent.*;
8
9 /**
10 * @author LiuHuan
11 * @date 2019-10-08 15:42
12 * @desc 线程池
13 */
14 @Configuration
15 public class ThreadPoolConfig {
16
17 /**
18 * 线程池维护线程的最少数量
19 */
20 private static final int CORE_POOL_SIZE = Runtime.getRuntime().availableProcessors();
21
22 /**
23 * 线程池维护线程的最大数量
24 */
25 private static final int MAX_POOL_SIZE = 20;
26
27 /**
28 * 空闲线程等待工作的超时时间
29 */
30 private static final long KEEP_ALIVE_TIME = 1000L;
31
32 /**
33 * 线程池所使用的缓冲队列大小
34 */
35 private final static int WORK_QUEUE_SIZE = 10;
36
37
38
39 /**
40 * 消息队列线程池
41 */
42 @Bean(value = "processThreadPool")
43 public ExecutorService processThreadPool(){
44 ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
45 .setNameFormat("process-thread-%d").build();
46
47 ExecutorService pool = new ThreadPoolExecutor(CORE_POOL_SIZE, MAX_POOL_SIZE, KEEP_ALIVE_TIME, TimeUnit.MILLISECONDS,
48 new ArrayBlockingQueue<Runnable>(WORK_QUEUE_SIZE), namedThreadFactory, new ThreadPoolExecutor.DiscardOldestPolicy());
49 return pool ;
50 }
51
52 }
SpringBoot普通消息队列线程池配置的更多相关文章
- 玩转SpringBoot之定时任务@Scheduled线程池配置
序言 对于定时任务,在SpringBoot中只需要使用@Scheduled 这个注解就能够满足需求,它的出现也给我们带了很大的方便,我们只要加上该注解,并且根据需求设置好就可以使用定时任务了. 但是, ...
- SpringBoot 线程池配置 实现AsyncConfigurer接口方法
目的是: 通过实现AsyncConfigurer自定义线程池,包含异常处理 实现AsyncConfigurer接口对异常线程池更加细粒度的控制 *a) 创建线程自己的线程池 b) 对void ...
- Spring线程池配置模板设计(基于Springboot)
目录 线程池配置模板 基础的注解解释 常用配置参数 配置类设计 线程池使用 ThreadPoolTaskExecutor源码 线程池配置模板 springboot给我们提供了一个线程池的实现,它的底层 ...
- SpringBoot异步及线程池配置
异步方法注解@Async 在SpringBoot中进行异步处理,可以使用异步注解@Async和@EnableAsync. @Async注解表示异步,如:@Async("asyncServic ...
- FeignClient spi 调用 短路异常 & 线程池配置
FeignClient spi 调用 短路异常 & 线程池配置 默认配置见:HystrixThreadPoolProperties 线程池对象:com.netflix.hystrix.Hyst ...
- Java队列——线程池创建的例子
线程池为线程生命周期开销问题和资源不足问题提供了解决方案.通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上.其好处是,因为在请求到达时线程已经存在,所以无意中也消除了线程创建所带来的延迟.这 ...
- 【Java 并发】Executor框架机制与线程池配置使用
[Java 并发]Executor框架机制与线程池配置使用 一,Executor框架Executor框架便是Java 5中引入的,其内部使用了线程池机制,在java.util.cocurrent 包下 ...
- Hystrix线程池配置
Hystrix配置文件配置 断路器: hystrix.command.default.circuitBreaker.requestVolumeThreshold(当在配置时间窗口内达到此数量的失败后, ...
- TestNg线程池配置、执行次数配置、超时配置
使用注解的方式对TestNg线程池配置.执行次数配置.超时配置 注:使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的 ...
随机推荐
- Docker 架构及工作原理
通过下图可以得知,Docker 在运行时分为 Docker 引擎(服务端守护进程) 和 客户端工具,我们日常使用各种 docker 命令,其实就是在使用 客户端工具 与 Docker 引擎 进行交互. ...
- 牛客网PAT练兵场-德才论
题解:用sort排序即可 题目地址:https://www.nowcoder.com/questionTerminal/97b6a49a85944650b2e3d0660b91c324 /** * C ...
- [PKUWC2018]Minimax 题解
根据题意,若一个点有子节点,则给出权值:否则可以从子节点转移得来. 若没有子节点,则直接给出权值: 若只有一个子节点,则概率情况与该子节点完全相同: 若有两个子节点,则需要从两个子节点中进行转移. 如 ...
- update 字符串拼接
UPDATE store SET food_ordering =1,self_pickup_remark = CONCAT('self pick up notes:',store_code,short ...
- Navicat12 for Mysql激活
1 下载 注册机和Navicat网盘下载地址 链接:https://pan.baidu.com/s/1AFpQIlHCXVHc8OuBZ9PAlA 提取码:xvi2 2 安装 2 ...
- UnitTest单元测试框架解析【实用篇】
UnitTest是展开自动化测试的基础——这个框架很重要!首先我们先自己写一个测试类: 1.被测试类 Widthget.py: # coding: utf-8class Widthget: def _ ...
- lua 优化
彻底解析Android缓存机制——LruCache https://www.jianshu.com/p/b49a111147ee lua:部分常用操作的效率对比及代码优化建议(附测试代码) https ...
- Deep Env
https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/ Ready Ubuntu 18.04 这里直接wsl Ubuntu 的软件源配置文件是 /etc/ap ...
- mac 下配置连接Linux服务器方法,上传下载文件操作
1.先按照文档在本地生成SSHkey 2.mac输入 sudo -i 进入超级管理员#模式下,然后 创建用户 #useradd XXXadmin #passwd XXXadmin XXXadmin用户 ...
- 记录使用vs code两天的心得
一个字 就是骚~感觉以后写博客都省了