![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 59
逍遥大俠
这个作者很懒,什么都没留下…
展开
-
使用多线程并行处理任务,提高效率
案例详解电商app中,商品详情页,开发一个接口提供以下信息商品基本信息(名称、价格、库存等)商品图片列表商品描述信息数据库中我们用了3张表存储上面的信息商品基本信息表:t_goods(字段:id、名称、价格、库存等)商品图片信息表:t_goods_imgs(字段:id、goods_id、图片路径等)商品描述信息表:t_goods_ext(字段:id、goods_id、描述信息等)常规写法,伪代码如下:public Map<String,Object> detail(l原创 2021-11-17 14:39:21 · 1732 阅读 · 2 评论 -
java多线程遍历处理list集合
开发过程中经常遇到如下需求,拿到一个list数据,需要遍历它然后请求第三方接口,然后根据返回结果做一些事常规写法public static void main(String[] args) { List<User> list = getList(); test1(list);}//假设有500条数据static List<User> getList() { List<User> list = new ArrayList<>(原创 2021-11-08 21:50:49 · 9660 阅读 · 4 评论 -
HashMap为什么是线程不安全的
前言面试常常被问到HashMap为什么是线程不安全的。今天从源码分析为什么不安全JDK1.7版本不安全体现在死循环、数据丢失、数据覆盖问题上。JDK1.8版本修复了前两个问题,但是依然存在数据覆盖问题。JDK1.7中的线程不安全1.7中的不安全主要发生在扩容方法,根源在transfer()方法,1.7版本的transfer()方法如下:void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.l原创 2021-07-07 21:37:23 · 203 阅读 · 1 评论 -
多线程使用executor.submit(callable).get()不并发执行问题
业务场景for循环处理数据,串行执行效率很慢,所以想用多线程并行处理,提高效率原来的代码如下public class ExecutorTest { public static void main(String[] args) { try { AtomicLong total = new AtomicLong(0); ExecutorService executor = Executors.newFixedThreadPool(8)原创 2020-11-24 16:49:03 · 2756 阅读 · 1 评论