暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Spring boot 线程池使用——多线程池隔离

一言良语 2018-11-27
792

前两篇文章结合例子简单讲述了spring boot如何配置和使用线程池,以及如何监听异步执行结果。

假设有这样一个场景:

应用中有两种不同类型的异步,产品的和订单的,在某一瞬间,大量涌入了订单的异步任务,这样,根据线程池的配置,订单的异步任务占满了线程池以后,就会影响产品的异步任务进入线程池,导致产品的功能异常。

那如何解决这个问题呢?

一个比较好的方案是:把产品和订单隔离开,使用两个独立的线程池,避免互相影响。Spring cloud hystrix就是使用了线程池来隔离不同的请求。


定义两个线程池

在定义线程池时,指定Bean的名字来识别不同的线程池:


指定对应的线程池执行

对不同的产品服务和订单服务,通过Bean的名字指定不同的线程池:


多线程池隔离测试

运行单元测试,可以看到指定的两个线程池已经发生了作用:




以上就是spring boot使用线程池时,配置多个线程池以隔离影响。




END



推荐阅读

相关文章:

Spring boot 线程池使用

Spring boot 线程池使用——监听执行结果

spring boot源码分析:(一)启动类注解

spring boot源码分析:(二)启动过程

spring cloud源码分析——ribbon负载均衡策略

一文看懂Spring Bean的生命周期

mybatis简介

mybatis源码分析:(一)SqlSessionFactory创建过程

从输入URL到页面加载完成之间发生了什么

Java的浅拷贝和深拷贝

BIO、NIO、AIO、IO多路复用

关于Java数据库连接池最通俗易懂的介绍

MySQL的事务隔离级别

mysql保证原子性和持久性的利器:undo和redo

你可能喜欢:

《区块链从入门到放弃》先从一个故事说起

《区块链从入门到放弃》比特币和区块链基础介绍

《区块链从入门到放弃》区块链的共识机制——工作量证明、权益证明、委托权益证明

《区块链从入门到放弃》拜占庭容错算法

《区块链从入门到放弃》51%攻击和双花问题

利用Axure中继器实现添加删除商品原型

人工智能写代码?放心,Sketch2Code干不过前端开发







自由,

是因为自己真的有方向。






文章转载自一言良语,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论