可见性:一个线程对共享变量值的修改,能够及时地被其他线程看到。
共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线
程的共享变量。
Java内存模型:



线程对共享变量操作的规定:

共享变量可见性实现的原理:
![]()
可见性的必要条件:
![]()
可见性的实现方式:(final也可以)
![]()
线程执行互斥代码的过程:
![]()
重排序的概念:
![]()
as-if-serial的概念:
![]()
导致共享变量在线程间不可见的原因:
![]()
可见性分析:
![]()
当一个线程访问object的一个sysnchronized(this)同步代码块时,其他线程对object中所有其他synchronized(this)同步代码块的访问会被阻塞
volatile实现可见性:
![]()
volatile不能实现原子性的分析:
![]()
保证自增操作原子性的解决方案:
![]()
ReentrantLock的用法:
![]()
volatile适用场合:
![]()
synchronized与volatile的比较
![]()
----------天道酬勤----------------














浙公网安备 33010602011771号