課程
/后端開發(fā)
/Java
/深入淺出Java多線程
所以要怎么停止線程呢?用:valatile boolean keepruning =false; 就可以了是嘛?
2018-08-18
源自:深入淺出Java多線程 3-2
正在回答
首先,線程會在把線程內(nèi)代碼全部跑完以后停止,這叫做正常停止。調(diào)用stop是強行停止,不推薦使用。這里使用了keeprunning = false,那么就會跳出while循環(huán),然后繼續(xù)進行while循環(huán)以下的剩余代碼,等剩余代碼跑完,線程內(nèi)就沒有代碼可以跑了,于是該線程就自己停止了。換成別的情況也是一樣,比如說你得線程里只有一個System.out.print(),那么在執(zhí)行完這個打印任務(wù)后,線程就停止了,這種情況不需要keeprunning=false。這里使用keeprunning=false的目的只是讓代碼能夠跳出while循環(huán),并不是說所有線程內(nèi)部都必須強制用一個keeprunning來讓線程正常停止。
舉報
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進階路線
1 回答停止線程鍵
2 回答線程的停止
1 回答正確停止線程異議
3 回答關(guān)于停止線程用的keeprunning
5 回答真的停止了線程了嗎
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-08-21
首先,線程會在把線程內(nèi)代碼全部跑完以后停止,這叫做正常停止。調(diào)用stop是強行停止,不推薦使用。這里使用了keeprunning = false,那么就會跳出while循環(huán),然后繼續(xù)進行while循環(huán)以下的剩余代碼,等剩余代碼跑完,線程內(nèi)就沒有代碼可以跑了,于是該線程就自己停止了。換成別的情況也是一樣,比如說你得線程里只有一個System.out.print(),那么在執(zhí)行完這個打印任務(wù)后,線程就停止了,這種情況不需要keeprunning=false。這里使用keeprunning=false的目的只是讓代碼能夠跳出while循環(huán),并不是說所有線程內(nèi)部都必須強制用一個keeprunning來讓線程正常停止。