volatile工作机制

Author Avatar
itning 5月 30, 2018
  • 在其它设备中阅读本文章

volatile并非线程安全的

volatile修饰之后:
第一:使用volatile关键字会强制将修改的值立即写入主存;
第二:使用volatile关键字的话,当线程2进行修改时,会导致线程1的工作内存中缓存变量stop的缓存行无效(反映到硬件层的话,就是CPU的L1或者L2缓存中对应的缓存行无效);
第三:由于线程1的工作内存中缓存变量stop的缓存行无效,所以线程1再次读取变量stop的值时会去主存读取。

volatile保证了操作的可见性 但是不保证对变量的操作是原子性

原创内容,转载请注明出处!
本文链接:https://blog.itning.top/posts/J2SE/20180530-Volatile-working-mechanism.html