課程
/后端開發(fā)
/Java
/深入淺出Java多線程
所以要怎么停止線程呢?用:valatile boolean keepruning =false; 就可以了是嘛?
2018-08-18
源自:深入淺出Java多線程 3-2
正在回答
首先,線程會(huì)在把線程內(nèi)代碼全部跑完以后停止,這叫做正常停止。調(diào)用stop是強(qiáng)行停止,不推薦使用。這里使用了keeprunning = false,那么就會(huì)跳出while循環(huán),然后繼續(xù)進(jìn)行while循環(huán)以下的剩余代碼,等剩余代碼跑完,線程內(nèi)就沒有代碼可以跑了,于是該線程就自己停止了。換成別的情況也是一樣,比如說(shuō)你得線程里只有一個(gè)System.out.print(),那么在執(zhí)行完這個(gè)打印任務(wù)后,線程就停止了,這種情況不需要keeprunning=false。這里使用keeprunning=false的目的只是讓代碼能夠跳出while循環(huán),并不是說(shuō)所有線程內(nèi)部都必須強(qiáng)制用一個(gè)keeprunning來(lái)讓線程正常停止。
舉報(bào)
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進(jìn)階路線
2 回答線程的停止
1 回答停止線程鍵
1 回答正確停止線程異議
3 回答關(guān)于停止線程用的keeprunning
1 回答線程的正確停止方法
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)
2018-08-21
首先,線程會(huì)在把線程內(nèi)代碼全部跑完以后停止,這叫做正常停止。調(diào)用stop是強(qiáng)行停止,不推薦使用。這里使用了keeprunning = false,那么就會(huì)跳出while循環(huán),然后繼續(xù)進(jìn)行while循環(huán)以下的剩余代碼,等剩余代碼跑完,線程內(nèi)就沒有代碼可以跑了,于是該線程就自己停止了。換成別的情況也是一樣,比如說(shuō)你得線程里只有一個(gè)System.out.print(),那么在執(zhí)行完這個(gè)打印任務(wù)后,線程就停止了,這種情況不需要keeprunning=false。這里使用keeprunning=false的目的只是讓代碼能夠跳出while循環(huán),并不是說(shuō)所有線程內(nèi)部都必須強(qiáng)制用一個(gè)keeprunning來(lái)讓線程正常停止。