本章主要介绍了并发编程的基础知识,为后面在高级篇讲解并发包源码打下了基础,并结合图示形象地讲述了为什么要使用多线程编程,多线程编程存在的线程安全问题,以及什么是内存可见性问题。然后讲解了 synchronized 和 volatile 关键字,并且强调前者既保证内存的可见性又保证原子性,而后者则主要保证内存可见性,但是二者的内存语义很相似。最后讲解了什么是 CAS 和线程间同步以及各种锁的概念,这些都为后面讲解 JUC 包源码奠定了基础。