0
從Java併發的運作volatile變量VS實例變量
線程共享其所屬進程的內存地址空間,所有 一個進程中的線程可以訪問相同的變量& 分配對象來自同一堆。
另外
聲明變量爲線程不應該緩存 這種可變或者換句話說不應該相信這些 變量的值,除非它們被直接從主存儲器讀出的揮發性裝置。
我的問題是
說有「A」是由一個線程修改非易失性實例變量。 'a'的修改值不會在堆上更新。如果它在堆上更新,則讀取該實例變量的另一個線程將自動讀取更新的值,因爲線程共享堆中的實例變量。那麼volatile變量的功能如何不同呢?
那麼,在讀寫緩存甚至是實例變量的時候線程呢? – underdog 2014-10-09 13:37:13
@underdog - 他們**可以** - 他們實際上並不需要,而且他們通常不會,但臨界點是您不能採取任何方式。 – OldCurmudgeon 2014-10-09 13:38:29
@OldCurmudgeon你能解釋一下「他們實際上不需要」嗎? – Prakash 2014-10-09 13:48:13