亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

線程的停止

關于軍隊這一塊沒有設置他的具體結束時間,怎么能確定這兩個線程會結束呢?什么時候結束呢,KeepRunning這個值什么時候會被調用呢,DeBug不出來啊,求解

正在回答

2 回答

在舞臺這個線程里面將兩個軍隊線程對象的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;


0 回復 有任何疑惑可以回復我~
#1

Z_Ser 提問者

非常感謝!3q
2016-08-15 回復 有任何疑惑可以回復我~

KeepRunning初始值為true,循環停止的條件不是if(count==100)KeepRunning=false;嗎?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
深入淺出Java多線程
  • 參與學習       186072    人
  • 解答問題       502    個

帶你一起深入淺出多線程,掌握基礎,展望進階路線

進入課程

線程的停止

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號