摘要: AbstractQueueSynchronizer :同步发生器, 构建Lock的,上文说到cas是无锁的,所以封装级别会比cas较高,但比Synchronized低。 基本思想:通过内置的FIFO同步队列来完成线程的同步资源的管理工作。 CLH同步队列: 每个线程:争夺资源(FIFO公平竞争原则) 阅读全文
posted @ 2020-05-04 00:41 Catbir 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 本内容来自 https://www.jianshu.com/p/fc51be7e5bc0 阅读全文
posted @ 2020-05-04 00:22 Catbir 阅读(104) 评论(0) 推荐(0) 编辑
摘要: AtomicInteger : 大家都知道在多线程情况下 volitile i++无法保证线程的原子性,所以引入AtomicInteger类。 incrementAndGet:实现了原子性的自增 public final int incrementAndGet() { return unsafe.g 阅读全文
posted @ 2020-05-04 00:18 Catbir 阅读(176) 评论(0) 推荐(0) 编辑
摘要: cas :compare and swap(比较和置换),一种无锁乐观锁 作用及优点:无锁,提高了效率,cpu的吞吐量,性能好 缺点:ABA问题 改进: AtomicStampedReference<V> 每个版本赋值个时间戳,进行比较期望值是否发生变化时,就能明显知道除了数值是否发生变化外时间戳是 阅读全文
posted @ 2020-05-04 00:17 Catbir 阅读(131) 评论(0) 推荐(0) 编辑