写点什么

为什么建议项目中统一线程池类?

用户头像
张挺
关注
发布于: 2020 年 07 月 04 日
为什么建议项目中统一线程池类?

基于本团队来说,项目中使用线程池的场景很多,但是对于业务线程池来说,目前存在诸多问题,没有统一的风格,完全是一个黑盒,缺乏统一的监控,都是基于自己的业务场景构建自己的线程池,很多就是copy完全没有考虑线程池隔离和相关参数对业务的影响,直到某一天出现问题才会去关心这些问题。



针对上述问题,本人有一下思考:

1.项目一定要统一套线程池,不管是基于JDK定制,还是基于spring(比方说缺乏可预热设置)扩展,动作必须要整齐划一,否则就是很难管理(一定要定制或者扩展)



2.线程池隔离,根据不同的业务场景构建自己的线程池(特别是核心业务)



3.搞清楚使用线程池的目的,是为了异步实现业务还是为了并行执行提高效率,这直接影响到各种参数的选择配置



4.jdk8的CompletableFuture或者ForkjoinPool,这种自动化的建议不了解的,不要直接使用默认配置,可以在构建好线程池以后在使用CompletableFuture这种新特性带给你的比较好的体验



5.线程池需要有一个可视化的管理监控中心,最好可以动态的调整参数



总结,本次没有针对实现方式做分享,如有需要可以联系我私下沟通,仅仅是一次吐槽,我认为项目中一个好的使用线程池的方案,一定是风格统一,而不是百花齐放。



用户头像

张挺

关注

还未添加个人签名 2020.05.17 加入

还未添加个人简介

评论

发布
暂无评论
为什么建议项目中统一线程池类?