為什么不用jion方法的時(shí)候,雙方軍隊(duì)結(jié)束攻擊,往后的代碼不按照順序來(lái)運(yùn)行呢?
按理來(lái)說(shuō)雙方軍隊(duì)結(jié)束了,之后按順序就是程咬金出場(chǎng)哇,為啥不用jion方法的時(shí)候會(huì)跳著運(yùn)行代碼呢?
按理來(lái)說(shuō)雙方軍隊(duì)結(jié)束了,之后按順序就是程咬金出場(chǎng)哇,為啥不用jion方法的時(shí)候會(huì)跳著運(yùn)行代碼呢?
2019-10-12
舉報(bào)
2019-10-17
其實(shí)老師的代碼如果在雙方軍隊(duì)?wèi)?zhàn)斗那加上sleep()方法的話,你會(huì)發(fā)現(xiàn):程咬金先戰(zhàn)斗完之后才是軍隊(duì)執(zhí)行完
因此個(gè)人覺(jué)得應(yīng)該在程咬金出廠后加入一個(gè)判斷,如下所示:
//新建關(guān)鍵人物 KeyPerson?keyPerson?=?new?KeyPerson(); Thread?chengYaojin?=?new?Thread(keyPerson,"程咬金"); while(true){ ????if(!suiThread.isAlive()?&&?!farmThread.isAlive()){ ????????System.out.println("程咬金開(kāi)始戰(zhàn)斗!!"); chengYaojin.start(); //chengYaojin.join(); System.out.println("大戲結(jié)束?。?!"); break; } } ????????chengYaojin.start(); ????????chengYaojin.join(); ????????System.out.println("大戲結(jié)束?。?!"); ????????break; ????} }這樣的話才能使得雙方軍隊(duì)退場(chǎng)后,程咬金才會(huì)上場(chǎng),才符合邏輯。