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

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

講師回答 / Arthur
%10.2f只說明位數和精度,并不強制要求占滿。如果要求部位前面加0

講師回答 / Arthur
首先從語法上,lockObj換成energyBoxes是可以的,不過易讀性是否降低你要考慮了。第二點,效率要讓位于安全。如果多個資源是無關的,自然可以不同的鎖來互斥(那為什么要放在同一個類里面呢?恐怕要反思設計了),如果資源對線程的訪問有嚴格的互斥約束,那么就不能有多個鎖對象。

講師回答 / Arthur
在wait set中的對象并不會競爭lockObj。只有當其他線程調用notifyAll后他們才有機會競爭lockObj。

講師回答 / Arthur
問題還是回到interrupte()方法的初衷,這個方法是用來向線程發出中斷請求,而非停止線程的。當然很多時候要停止線程就需要先給他一個中斷請求,然后讓線程處理中斷(比如處理InterruptedException)。在你提到的shutdownNow中,我們看到調用interruptWorkers()也是這個意思,讓所有的worker線程有機會處理中斷。緊接著,tryTerminate()回去做停止的工作。public List<Runnable> shutdownNow() {? ? ? ?...

已采納回答 / Arthur
你可以理解為,run方法僅僅提供了業務邏輯,而線程運行是有更復雜要求的。這一切都封裝在了Thread內部。所以記住一定不要自己調用run,而是調用start方法。

講師回答 / Arthur
用心做的啊-0|0-

已采納回答 / Arthur
本質是你得線程被連接網絡的I/O阻塞了。你可以考慮一些非阻塞的方法,看看NIO里有沒有相關的類吧。

講師回答 / Arthur
wait之后要釋放鎖的,然后喚醒并獲得了鎖之后,是從上一次調用wait()的地方之后開始執行,這樣if將不能阻擋不合要求的處理。

已采納回答 / Arthur
你得理解是正確的,這就是為什么使用了一個while循環來阻擋不符合條件的操作。每次被喚醒并獲得鎖后,都是從wait之后的地方繼續循環。

已采納回答 / Arthur
為什么兩個線程要共享一個任務呢,多線程出問題絕大部分都是因為不恰當的共享,唯恐避之而不及呢!
課程須知
本課程的學習,需要小伙伴們具有面向對象基礎知識及 Java 語言基礎。如果您是新手,建議先移步 《Java入門第一季》和《Java入門第二季》
老師告訴你能學到什么?
1、Java 中如何使用線程 2、什么是爭用條件 3、線程如何交互

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消