第3章
volatile为什么能解决可见性和有序性问题

线程安全性主要体现在三个方面,分别是原子性、可见性和有序性。在第2章中,我们讲了通过synchronized关键字可以解决原子性、可见性和有序性问题,从而保证线程的安全性,并且重点分析了原子性问题的本质,以及synchronized是如何解决原子性问题的。

那么对于可见性和有序性问题,该如何解决呢?除了synchronized,还有其他方法可以解决吗?导致可见性和有序性问题的根本原因是什么?这就引出了本章的主题——volatile关键字,它可以解决可见性和有序性问题。本章将围绕volatile关键字深度探索可见性、有序性问题的核心本质,以及volatile是如何解决可见性和有序性问题的。