摘要: 什么是ABA问题? 解决方案:引入原子引用,AtomicStampedReference import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicStampedReference;public cla 阅读全文
posted @ 2021-08-06 18:15 gdstcymc 阅读(80) 评论(0) 推荐(0)
摘要: 什么是指令重排:计算机并不是按照你写的代码的顺序去执行。 源代码->编译器优化的重排->指令并行也可能重排->内存系统也会重排->执行 处理器在进行指令重排的时候,考虑:数据之间的依赖性 int x = 1; //1 int y = 2; //2 x = x + 3; //3 y = x * x; 阅读全文
posted @ 2021-08-06 18:10 gdstcymc 阅读(186) 评论(0) 推荐(0)
摘要: import java.util.concurrent.atomic.AtomicInteger;public class CasDemo { //CAS: CompareAndSet 比较并交换 public static void main(String[] args) { AtomicInte 阅读全文
posted @ 2021-08-06 17:33 gdstcymc 阅读(43) 评论(0) 推荐(0)
摘要: 8种不同的锁情况,分别由8个例子讲解 锁一 import java.util.concurrent.TimeUnit;/*lock1:两个同步方法(发短信、打电话),创建一个对象,两个线程,第一个线程调用该对象的发短信方法,第二个线程调用该对象的打电话方法结果:发短信->打电话解答:同步方法锁的是方 阅读全文
posted @ 2021-08-06 15:34 gdstcymc 阅读(197) 评论(0) 推荐(0)