![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
祁仙森
java,go语言,逛b站,喜欢读读书,赚赚钱,跑跑步,撩撩妹,敲敲代码
展开
-
多线程情形下,日志链路traceId、spanId的传递
创建线程池异步调用服务的情形中,子线程在打印日志的过程中traceId将丢失解决思路:重写线程池,对任务进行一次封装,在调度任务的之前将链路塞入MDC。几乎所有的情形下很少会new线程池(及其不推荐使用),自带的创建线程池的方案也不推荐使用,阿里巴巴开发手册推荐创建线程池的方案是使用ThreadPoolExecutor创建线程池,线程池创建大小,自定义名称,自定义拒绝策略等优点在此不多赘述直接上代码:import com.csrcb.constants.MyConstant;impor.原创 2021-08-23 10:30:34 · 7253 阅读 · 0 评论 -
多线程将多个互不相关的服务串行优化为并行
前言问题:最近个人在做手机银行的资产负债项目的时候遇到了问题,就是,用户资产计算逻辑业务复杂繁多,各中心服务数据透传统计,有的服务不相关,使用串行的效果极为不理想,响应速度太慢,生产压测有的响应需要近一分钟问题简介:现在有一个计算业务,需要将A方法的返回值+B方法的返回值+C方法的返回值,然而ABC三个互不相关,传统的串行方式为执行A获取返回值,执行B获取返回值,再执行C获取返回值,最后再将A、B、C的返回值做计算得到结果。那如果,A服务平均耗时8秒,B服务平均耗时5秒,C服务平均耗时3秒,那样串行就是原创 2020-08-25 16:11:39 · 359 阅读 · 0 评论