最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

兩個線程交替的疑問

Java中某條線程是否只有當(dāng)顯式調(diào)用了sleep()方法時,才會休眠并讓出處理器資源?我的運行結(jié)果中兩個線程的確是交替運行,但不是運行完整10次就進行交替。也就是說某一線程的sleep()方法還未被調(diào)用時,另一線程就競爭到了cpu資源。這個結(jié)果是否正確呢?多謝回答~

正在回答

3 回答

你得結(jié)果也是正常的。簡單說只有Running的線程擁有CPU,CPU時間片用完就釋放。這就是為什么還沒調(diào)用sleep(),另一個線程就執(zhí)行了。要把整個問題說清楚需要了解Java線程的狀態(tài)及遷移的知識。你可以參考慕課上的《細說Java多線程》

1 回復(fù) 有任何疑惑可以回復(fù)我~

我也在想這個問題

0 回復(fù) 有任何疑惑可以回復(fù)我~

這個和操作系統(tǒng)有關(guān),Linux按照時間分片,Windows要等線程主動釋放;在Java中,調(diào)用靜態(tài)方法會造成主動釋放。

你可以這樣測試:A和B兩個線程,里面變量從0加到N(隨意),循環(huán)結(jié)束之后再調(diào)用System.out.println();Windows上應(yīng)該是先start()的那個線程首先輸出,有一點需要注意的是,除了最后的輸出以外,不要有任何的靜態(tài)方法調(diào)用!

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

兩個線程交替的疑問

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號