摘要:
可重入锁 可重入锁就是一个线程已经获得了一把锁,可以重复获取而不会导致死锁 synchronized 和Lock都是可重入锁 synchronized 可重入锁示例 package com.example.juc; public class TestReentrantLock { public st 阅读全文
摘要:
ABA问题 问题现象:两个线程都去获取一个值,第一个线程获取后将其改变,然后又改回来,第二个线程获取到之后以为是第一个值,继续执行下去 ABA问题示例 package com.example.juc; import java.util.concurrent.atomic.AtomicInteger; 阅读全文
摘要:
理解CAS CAS(compare and swap):比较并交换,是CPU并发操作的原语 JUC的atomic包下的类中的操作均为原子性操作,底层均使用的是CAS,是直接对内存的操作 示例代码 package com.example.juc; import java.util.concurrent 阅读全文