1,当写一个volatile变量时,JMM(java内存模型)会把该线程本地内存中的所有共享变量刷新到主内存中去
2,当读取一个volatile变量时,该线程会将本地内存置为无效,线程将从主内存中读取共享变量。
总结,volatile变量可以实现线程之间的通信。
当对一个volatile变量写操作时,实际上就是指明我对主内存中的共享变量产生更改,接下来读取这个volatile变量的线程就会从主线程中取回最新的共享变量值。