1,volatile的作用
volatile是一個輕量級的線程同步機(jī)制。它的特性之一,是保證了變量在線程之間的可見性。
當(dāng)然,還有我們之前說的,解決指令重排的問題
volatile保證了在多個線程之間是可見的,但不能保證原子性操作
當(dāng)一個線程修改了變量的值之后,其他線程可以感知到
2,volatile vs synchronized
synchronized也是保證了線程的可見性,同時也具備了多線程之間的互斥性
3,如何使用?
private volatile int count;
4,volatile底層實現(xiàn)原理
工作內(nèi)存(cpu),主內(nèi)存,當(dāng)變量被聲明為volatile后,JVM會每次都從主內(nèi)存去讀取,而不是讀取自己的工作內(nèi)存
