Jave中volatile关键字的第二个功能你知道吗?

2019-01-10 13:57

Jave中volatile关键字的第二个功能你知道吗?



  当一个变量被volatile修饰时,保证了这个变量对所有Java线)可见性指什么

  指一个线程修改了变量的值后,新的值对其它的Java线程都是可以立即得知的。

  如果initialized没有被volatile修饰,那么由于指令重排序,A线程中的第二步可能在第一步前先执行。

  (2)指令重排序可以优化代码,而volatile避免了指令重排序,会导致效率降低。