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

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

細說Java多線程之內存可見性

難度中級
時長57分
學習人數
綜合評分9.63
181人評價 查看評價
9.9 內容實用
9.6 簡潔易懂
9.4 邏輯清晰

已采納回答 / hearain
因為生命周期的原因。方法中的局部變量,方法結束后這個變量就要釋放掉,final保證這個變量始終指向一個對象。首先,內部類和外部類其實是處于同一個級別,內部類不會因為定義在方法中就會隨著方法的執(zhí)行完畢而跟隨者被銷毀。問題就來了,如果外部類的方法中的變量不定義final,那么當外部類方法執(zhí)行完畢的時候,這個局部變量肯定也就被GC了,然而內部類的某個方法還沒有執(zhí)行完,這個時候他所引用的外部變量已經找不到了。如果定義為final,Java會將這個變量復制一份作為成員變量內置于內部類中,這樣的話,由于final所修...

已采納回答 / BetterTomorr
1、main線程為主線程, 還有 寫線程 和 讀線程, 可簡單理解為程序中總共有這3個線程(3個線程輪流執(zhí)行, 主線程等待 寫線程 和 讀線程執(zhí)行完畢 最后程序運行終止)(主線程的任務或作用 就是 執(zhí)行main 方法中的代碼指令(即啟動 寫線程 和 讀線程))2、程序分析如下:a、首先 主線程運行 , 啟動了 寫線程后 主線程進入休眠(此時 因為主線程休眠了,而 讀線程還沒有啟動(需要主線程來啟動)),? 所以只有/僅有 寫線程 獲取CPU執(zhí)行權,? 因為寫線程本身的任務簡單,在主線程休眠的1秒時間內足夠...

已采納回答 / sxian_wang
慢了不就不會刷新了。。。CPU運算快的話,在分配的時間片內就能完成所有工作:工作內從1->主內存->工作內存2,然后這個線程就釋放CPU時間片,這樣一來就保證了數據的可見性。如果是慢了話CPU強行剝奪該線的資源,分配給其它線程,該線程就需要等待CPU下次給該線程分配時間片,如果在這段時間內有別的線程訪問共享變量,可見性就沒法保證了。

已采納回答 / passionfoure
這里面有兩個VOLATILE變量,它包含了一個不變式就是LOW<UP(?if (value > upper) 和???if (value < low)?)public class A { ? ?private volatile?int low=0;? ?private volatile?int?up=100;? ?public int getLow() { return low; } ? ?public int getUp() { return up; } ? ?public void ...

已采納回答 / meetyu
volatile本身不保證獲取和設置操作的原子性,僅僅保持修改的可見性。但是java的內存模型保證聲明為volatile的long和double變量的get和set操作是原子的

已采納回答 / 追風少年
一般是考慮安全性,對數據提供保護,可以通過set方法賦值,再通過get方法取值,這就是java封裝的思想
首頁上一頁12下一頁尾頁
課程須知
學習本課程前,你需要熟練掌握Java的基礎語法,熟悉Java多線程的基礎知識,以及synchronized實現線程同步的方法。
老師告訴你能學到什么?
1、內存可見性 2、指令重排序 3、as-if-serial語義 4、synchronized實現可見性 5、volatile實現可見性

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費2個積分

繼續(xù)發(fā)表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消