課程
/后端開發(fā)
/Java
/深入淺出Java多線程
代碼中沒有寫if判斷大于多少次,會(huì)不再循環(huán)
但是這個(gè)循環(huán)了很多次,原理是什么?
2018-05-27
源自:深入淺出Java多線程 2-4
正在回答
首先stage()本身就是一個(gè)線程,而在這個(gè)線程里又嵌了兩個(gè)線程。寫在Stage.Run()里面的Thread.sleep(50)只是讓stage這個(gè)線程休眠50毫秒,但是并沒有終止它嵌入的兩個(gè)線程,所以兩個(gè)軍隊(duì)一直在打,直到stage休眠結(jié)束執(zhí)行到keepRunning = false時(shí),三個(gè)線程都結(jié)束了,另外如果你把stage里面的Thread.sleep()注釋掉你會(huì)發(fā)現(xiàn)它一次都沒執(zhí)行,我個(gè)人理解是線程異步,先編譯再執(zhí)行線程,編譯完keepRunning已經(jīng)是false了,所以不執(zhí)行。
Thread.sleep方法讓線程休眠了5毫秒,也就是說5毫秒后循環(huán)結(jié)束
同問,keepRunning = false;什么時(shí)候執(zhí)行
我是葉霖 提問者
因?yàn)橛衒or循環(huán)呀,里面的i值就是要循環(huán)幾次,從0到i值
舉報(bào)
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進(jìn)階路線
1 回答攻擊次序問題
4 回答攻擊次序問題
1 回答關(guān)于使用Thread.yield()進(jìn)行線程通訊的問題
3 回答運(yùn)行結(jié)果問題
2 回答關(guān)于WaitSet 問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-08-27
首先stage()本身就是一個(gè)線程,而在這個(gè)線程里又嵌了兩個(gè)線程。寫在Stage.Run()里面的Thread.sleep(50)只是讓stage這個(gè)線程休眠50毫秒,但是并沒有終止它嵌入的兩個(gè)線程,所以兩個(gè)軍隊(duì)一直在打,直到stage休眠結(jié)束執(zhí)行到keepRunning = false時(shí),三個(gè)線程都結(jié)束了,另外如果你把stage里面的Thread.sleep()注釋掉你會(huì)發(fā)現(xiàn)它一次都沒執(zhí)行,我個(gè)人理解是線程異步,先編譯再執(zhí)行線程,編譯完keepRunning已經(jīng)是false了,所以不執(zhí)行。
2018-06-16
Thread.sleep方法讓線程休眠了5毫秒,也就是說5毫秒后循環(huán)結(jié)束
2018-06-03
同問,keepRunning = false;什么時(shí)候執(zhí)行
2018-05-27
因?yàn)橛衒or循環(huán)呀,里面的i值就是要循環(huán)幾次,從0到i值