摘要:
解决线程安全问题,除了上面的 Synchronized 锁之外还有另外一个应用特别广泛的知识点 CAS,可以说 JUC 包完全是建立在 CAS 的基础之上的。 定义 CAS,compare and swap ,是计算机科学中一种实现多线程原子操作的指令,它比较内存中当前存在的值和外部给定的期望值,只 阅读全文
摘要:
前两篇文章已经介绍了多线程以及 JMM,我们说过多线程面对的安全问题体现在 `可见性 重排序`三个问题上。Synchronized 就是 Java 为我们提供的解决线程安全问题的一把锁。 以前我们都叫它重量级锁,是因为以前它的性能相比与其他锁要差很多,而且非常笨重。但是随着 JDK 1.6 中对 S 阅读全文