第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

B線程工作空間何值的問題

在之前講到可見性時,說,值變更由工作空間->主內存->工作空間 一步不能缺。

但這節(jié)課說,B線程將number更新為6并同步主內存后,A線程的工作空間為何還是5?不是volatile保證了可見性了嗎?

我的理解是,A工作的工作空間已經變成了6,但A線程之前已經讀取過數據了,所以繼續(xù)沿用之前的操作,是5.不知道我的理解是否正確。

正在回答

4 回答

你根本就不理解。。這個volitate,只對單個操作有效,對i++ 或者其他多步的操作,根本保證不了線程安全

1 回復 有任何疑惑可以回復我~

區(qū)別就是當voliate對象要去操作工作空間的變量時,會先把工作空間的變量清空,去主存讀一下,操作完之后,會先將操作后的數據寫到主存里,這個過程是強制的

0 回復 有任何疑惑可以回復我~
#1

王小明3 提問者

這樣的話,沒有體現到可見性啊。B線程的改動對A不可見啊…
2017-05-14 回復 有任何疑惑可以回復我~
#2

_曲終散

同樣有此疑問,并且看了你的解析,我想問問,既然線程1要操作變量,它不需要重新去主存讀取一下嗎?
2018-03-18 回復 有任何疑惑可以回復我~

這個主內存->工作空間,是你讀數據的時候,自己去主內存里讀的,不是主內存的數據實時的更新到這個工作空間

0 回復 有任何疑惑可以回復我~
#1

王小明3 提問者

這樣的話,怎么保證可見性?voliate和普通的區(qū)別又在哪?
2017-05-10 回復 有任何疑惑可以回復我~

不是你這么理解的,A工作空間的數據還是5,

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

B線程工作空間何值的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號