volatile写读的内存语义

1,当写一个volatile变量时,JMM(java内存模型)会把该线程本地内存中的所有共享变量刷新到主内存中去

2,当读取一个volatile变量时,该线程会将本地内存置为无效,线程将从主内存中读取共享变量。

总结,volatile变量可以实现线程之间的通信。

当对一个volatile变量写操作时,实际上就是指明我对主内存中的共享变量产生更改,接下来读取这个volatile变量的线程就会从主线程中取回最新的共享变量值。

原文地址:https://www.cnblogs.com/yangwei20160911/p/6536758.html