锁可以让临界区互斥执行

锁的内存语义

锁是Java并发编程中重要的同步机制. 锁除了可以让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息

线程释放锁时,JMM会把该线程对应的本地内存中的共享变量刷新到内存中.

线程获取锁时,JMM会把该线程对应的本地内存置为无效.从而使得临界区代码必须从主内存中读取共享变量

锁获取与volatile读有相同的内存语义

文章链接 https://fangzongzhou.github.io/2020/10/19/计算机/技术栈/Java/并发编程/锁/