課程
/后端開發(fā)
/Java
/深入淺出Java多線程
敢問這個(gè)程序是怎么結(jié)束的嗎?我看不到哪里是結(jié)束語句,按理說他是個(gè)無限循環(huán)的啊?。?/p>
2015-06-29
源自:深入淺出Java多線程 2-4
正在回答
個(gè)人理解為在Stage類的run()中
armyOfSuiDynasty.start(); armyOfRevolt.start();
之后的
try?{ ????Thread.sleep(50); }?catch?(InterruptedException?e)?{ ????e.printStackTrace(); }
這句代碼起到了作用,也就是說在兩軍交戰(zhàn)的50ms之內(nèi)stage線程處于休眠不會(huì)參與到對(duì)處理器的競(jìng)爭(zhēng)中,而50ms的休眠時(shí)間過后,stage線程參與競(jìng)爭(zhēng)處理器使用,將keepRunning設(shè)為false,結(jié)束軍隊(duì)的兩個(gè)線程。
不知理解的對(duì)不對(duì),還請(qǐng)指正。
在單核機(jī)器中,可以那么理解,主線程休眠了,其他線程獲得資源運(yùn)行。但是現(xiàn)在電腦都是多核??梢酝瑫r(shí),不是以前基于單核分片執(zhí)行。Thread.sleep(100);就是當(dāng)前線程睡眠0.1秒,
Adsun
qq_老表_1
這個(gè)是線程休眠,等待0.1s后線程再執(zhí)行,如果遇見異常就拋出。
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
這個(gè)事件是控制主線程的嗎?也就是main這個(gè)線程,當(dāng)主線程休眠的時(shí)候,也就是其他線程運(yùn)行的時(shí)間?想了很久,只能只能理解了,初學(xué)者,不知道對(duì)不對(duì)?。。??
舉報(bào)
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進(jìn)階路線
2 回答子線程執(zhí)行結(jié)束之后才能main方法的結(jié)束舞臺(tái)輸出嗎?線程不應(yīng)該是搶占資源嗎?為什么沒加入join,程咬金最后執(zhí)行,其他線程也沒調(diào)用join但是在結(jié)束前執(zhí)行完畢
1 回答main線程結(jié)束,子線程為什么沒有退出?
2 回答是不是使用了join 之后,使用了join 的線程運(yùn)行結(jié)束之后才能讓這個(gè)程序再次的運(yùn)行下去。如果不是用join 那么這個(gè)線程在運(yùn)行的時(shí)候和當(dāng)前方法中的運(yùn)行關(guān)系不大。所以就提前輸出了戰(zhàn)斗結(jié)束。
4 回答這個(gè)程序總共生成了4個(gè)線程是不?
2 回答不知道什么時(shí)候結(jié)束的欸
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-11-15
個(gè)人理解為在Stage類的run()中
之后的
這句代碼起到了作用,也就是說在兩軍交戰(zhàn)的50ms之內(nèi)stage線程處于休眠不會(huì)參與到對(duì)處理器的競(jìng)爭(zhēng)中,而50ms的休眠時(shí)間過后,stage線程參與競(jìng)爭(zhēng)處理器使用,將keepRunning設(shè)為false,結(jié)束軍隊(duì)的兩個(gè)線程。
不知理解的對(duì)不對(duì),還請(qǐng)指正。
2015-07-08
在單核機(jī)器中,可以那么理解,主線程休眠了,其他線程獲得資源運(yùn)行。但是現(xiàn)在電腦都是多核??梢酝瑫r(shí),不是以前基于單核分片執(zhí)行。Thread.sleep(100);就是當(dāng)前線程睡眠0.1秒,
2015-06-29
這個(gè)是線程休眠,等待0.1s后線程再執(zhí)行,如果遇見異常就拋出。
2015-06-29
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
這個(gè)事件是控制主線程的嗎?也就是main這個(gè)線程,當(dāng)主線程休眠的時(shí)候,也就是其他線程運(yùn)行的時(shí)間?想了很久,只能只能理解了,初學(xué)者,不知道對(duì)不對(duì)?。。??