亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

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

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

已采納回答 / sxian_wang
不會解決。static是修飾變量的,而這里不保證原子性的操作是自增造成的,這二者沒啥關系。你好好理解下自增為什么不是一個原子性操作。

最新回答 / qq_可口可樂_4
線程是搶占式執行的,sleep意味著當前線程在一段時間內不執行操作,可是該線程的工作內存中已經得到了number,沒有改變number的值意味著主內存中的值也沒有改變,在sleep這段時間內其他線程又得到主內存中的number,這個number與sleep中的number可能一樣(要是沒有其它線程),這樣的話這2個線程在最終執行完之后等于number++只執行一次

最新回答 / sxian_wang
對于這兩個問題,回頭重新看下內部類的相關知識,尤其是匿名內部類。

最新回答 / 雲中菩提
首先,你這休眠的是線程 main,并不會影響到synDemo讀寫線程的正常運行。而且就算你休眠的是synDemo的寫線程,但只要它拿到了鎖,那么讀線程就會是堵塞狀態,直到寫線程釋放了鎖。最好還是先看看書或關于線程的博文,對同步,鎖有所了解,然后再來看此視頻。

最新回答 / 慕斯0128424
理論上只有sleep時間足夠長,這么去玩的話是可行的。但是在實際商業項目中,你是用多線程的目的很大可能性是提升性能,你這么做豈不是背初衷而馳?

最新回答 / 快樂的時光
老師之所以這么做是讓我們自己加上去分析以下結果。

最新回答 / 哏誰倆吶
設置斷點不容易看出來效果的 給程序更多的反應時間 就不會出現那種重排序什么的額情況了呢

最新回答 / 慕斯卡4106679
保證可見性。如果不是單線程,就要考慮可見性問題
課程須知
學習本課程前,你需要熟練掌握Java的基礎語法,熟悉Java多線程的基礎知識,以及synchronized實現線程同步的方法。
老師告訴你能學到什么?
1、內存可見性 2、指令重排序 3、as-if-serial語義 4、synchronized實現可見性 5、volatile實現可見性

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消