前两篇文章结合例子简单讲述了spring boot如何配置和使用线程池,以及如何监听异步执行结果。
假设有这样一个场景:
应用中有两种不同类型的异步,产品的和订单的,在某一瞬间,大量涌入了订单的异步任务,这样,根据线程池的配置,订单的异步任务占满了线程池以后,就会影响产品的异步任务进入线程池,导致产品的功能异常。
那如何解决这个问题呢?
一个比较好的方案是:把产品和订单隔离开,使用两个独立的线程池,避免互相影响。Spring cloud hystrix就是使用了线程池来隔离不同的请求。

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


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



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

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





推荐阅读
相关文章:
spring cloud源码分析——ribbon负载均衡策略
mybatis源码分析:(一)SqlSessionFactory创建过程
你可能喜欢:

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




