armyTaskOfSuiDynasty.keepRunning=false;與armyTaskOfRevolt.keepRunning=false;什么以時候執(zhí)行呢?
?armyTaskOfSuiDynasty.keepRunning=false;與armyTaskOfRevolt.keepRunning=false;什么以時候執(zhí)行呢?沒有寫到軍隊線程中的while循環(huán)內(nèi),怎么會被調(diào)用到呢?
==========================================
//啟動線程,讓軍隊開始作戰(zhàn)
?? ??? ?armyOfSuiDynasty.start();
?? ??? ?armyOfRevolt.start();
?? ??? ?
?? ??? ?//舞臺線程休眠50毫秒,大家專心觀看軍隊廝殺
?? ??? ?try {
?? ??? ??? ?Thread.sleep(50);
?? ??? ?} catch (InterruptedException e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ??? ?
?? ??? ?armyTaskOfSuiDynasty.keepRunning=false;
?? ??? ?armyTaskOfRevolt.keepRunning=false;
2018-06-30
我的理解是這樣的 既然是多線程,多天線程同時進(jìn)行,在農(nóng)民和隋軍的那兩條線程進(jìn)行的同時,就是main下的主線程也在運(yùn)行(Stage),它在執(zhí)行農(nóng)民和隋軍的線程的同時,也在一直往下運(yùn)行,運(yùn)行到armyTaskOfSuiDynasty.keepRunning=false;
?armyTaskOfRevolt.keepRunning=false;
農(nóng)民和隋軍的線程自然也就停止了。
2019-06-20
在主線程中加入sleep讓軍隊線程獲得時間資源,進(jìn)行打斗。軍隊線程中的yield使雙方的打斗隨機(jī)進(jìn)行,所以次數(shù)不確定。因?yàn)関olatile的存在所以其他的線程可以修改runnable的值,這里的其他線程值主線程(stage),即在sleep休眠時間結(jié)束后執(zhí)行armyTaskOfSuiDynasty.keepRunnable = false; armyTaskOfRevolt.keepRunnable = false;
使得軍隊的對戰(zhàn)結(jié)束
2018-05-30
這個我理解應(yīng)該是在循環(huán)里打夠了多少回合,跳出循環(huán)直接給?armyTaskOfSuiDynasty.keepRunning和??armyTaskOfRevolt.keepRunning賦值false,意味著結(jié)束