課程
/后端開發
/Java
/深入淺出Java多線程
關于軍隊這一塊沒有設置他的具體結束時間,怎么能確定這兩個線程會結束呢?什么時候結束呢,KeepRunning這個值什么時候會被調用呢,DeBug不出來啊,求解
2016-05-05
源自:深入淺出Java多線程 2-4
正在回答
在舞臺這個線程里面將兩個軍隊線程對象的KeepRunning屬性設置為false,從而結束了兩個軍隊線程。
ArmyRunnable?armyA?=?new?ArmyRunnable(); ArmyRunnable?armyB?=?new?ArmyRunnable(); Thread?threadArmyA=new?Thread(armyA,"armyA"); Thread?threadArmyB=new?Thread(armyB,"armyB"); threadArmyA.start(); threadArmyB.start(); ????try?{ Thread.sleep(50); }?catch?(InterruptedException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } ????armyA.keepRunning=false;?//結束了軍隊A的線程 ????armyB.keepRunning=false;?//結束了軍隊B的線程
在軍隊線程里面,keepRunning需用volatile修飾,表示它可以被不同線程訪問和修改。
即:
volatile?boolean?keepRunning=true;
Z_Ser 提問者
KeepRunning初始值為true,循環停止的條件不是if(count==100)KeepRunning=false;嗎?
舉報
帶你一起深入淺出多線程,掌握基礎,展望進階路線
1 回答停止線程鍵
1 回答線程停止問題
1 回答線程的錯誤停止方法
5 回答真的停止了線程了嗎
1 回答線程的正確停止方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-10
在舞臺這個線程里面將兩個軍隊線程對象的KeepRunning屬性設置為false,從而結束了兩個軍隊線程。
在軍隊線程里面,keepRunning需用volatile修飾,表示它可以被不同線程訪問和修改。
即:
2016-05-06
KeepRunning初始值為true,循環停止的條件不是if(count==100)KeepRunning=false;嗎?