volatile可见性代码演示

volatile可见性代码演示

3秒钟以后,其他线程也读取到资源了:

volatile可见性代码演示

3秒后修改值:

volatile可见性代码演示

第二个线程就是main线程:

volatile可见性代码演示

此时可见性被触发,AAA线程已经将主内存的值给修改成60,但是此时的线程还没有被暂停,但是此时的main并没有输出,也就是说,main线程没有人去通知它,也就是说main还一直在等待,也就是前面说的线程还没有被停止:

volatile可见性代码演示

让其自动关闭:

volatile可见性代码演示

volatile可见性代码演示

volatile可见性代码演示

此时的main被通知了,并且线程也结束了。