Java CyclicBarrier循环屏障 多线程处理数据 性能优化

267 阅读1分钟

文章目录

前言

开发中,我们经常会遇到处理批量数据,最后把处理成功和失败的数据结果记录下来。普通方法一个循环就可以搞定这个需求,但是面临大量数据单个线程去处理可能面临很大的瓶颈,同时也无法最大发挥CPU的性能。这时候可能会说:多线程我也没用过 天天工作CRUD,我只会 hello world。接下来我们模拟一个需求,看看并发编程中有那些需要注意的地方,相信看完这篇文章你一定有所收获👊👊

首先看一下单线程和并发线程处理的效率对比:
在这里插入图片描述

本次测试线程数量为:30个,单个线程执行需要52s,多线程处理只需要2s

需求

模拟2001条数据,对每条数据进行处理 处理需要耗费一定的时间,最后记录并输出处理成功和失败的结果