摘要: 1 前言 上一节我们对LongAdder的底层源码、实现机制进行了深入了剖析,包括AtomicInteger在高并发竞争下导致的大量自旋的问题,以及LongAdder是怎么使用分段锁优化这个问题的。我们最后看到longAccumulate托底的方法,这一节我们来深入的分析一下Striped64的分段 阅读全文
posted @ 2023-04-04 15:07 酷酷- 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1 前言 上一节我们讲解了cas的缺陷,无法同时更新多个变量、以及ABA的问题。以及如果使用AtomicReference解决同时更新多个变量,如果使用AtomicStampedReference解决ABA的问题,这节我们就来讲解CAS带来的另外一个问题,在并发激烈的时候,产生大量的自旋,空耗CPU 阅读全文
posted @ 2023-04-04 08:11 酷酷- 阅读(222) 评论(0) 推荐(2) 编辑
摘要: 1 前言 上节我们看了AtomicInteger、AtomicBoolean的原理,这一篇我们就来说说Atomic系列的另一个分类AtomicReference和AtomicStampReference。 2 多个变量修改的原子性 JUC虽然提供了AtomicInteger、AtomicBoolea 阅读全文
posted @ 2023-04-04 06:56 酷酷- 阅读(108) 评论(0) 推荐(0) 编辑