為什么System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");和System.out.println("程咬金的理想就是結束戰爭,使百姓安居樂業!");中間還會有進攻啊 線程不是sleep了嗎
為什么System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");和System.out.println("程咬金的理想就是結束戰爭,使百姓安居樂業!");中間還會有進攻啊 線程不是sleep了嗎
為什么System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");和System.out.println("程咬金的理想就是結束戰爭,使百姓安居樂業!");中間還會有進攻啊 線程不是sleep了嗎
2016-11-19
舉報
2019-12-13
我來挖墳啦,首先戰爭(進程)是動態的一直持續的,不會因為程咬金的出場而停止。
但是!如果想要凸顯出程咬金的心理,而整個舞臺停止是很簡單滴~
??Thread?mrCheng?=?new?KeyPersonThread(); ??mrCheng.setName("程咬金"); ????try{ ????????Thread.sleep(600); ????????System.out.println("--正當雙方戰況焦灼,半路突然殺出個程咬金..."); ????????Thread.sleep(1000); ????????System.out.println("--程咬金的理想就是推翻昏庸無能的皇帝。"); ????????Thread.sleep(1500); ????}?catch?(InterruptedException?e1)?{ ????????e1.printStackTrace(); ????} ??mrCheng.start();2018-12-08
不懂,為什么
之后還會繼續執行for循環里面的內容,而不是直接打印“xxx結束了戰斗”。
2017-08-13
樓上正解
2016-12-03
因為執行 sleep() 的進程是主線程 Stage,目的是從兩個軍隊啟動線程開始
到程咬金出現
System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");之間,留有時間給軍隊雙方執行各自線程 run() 方法里的 for 循環。這個 Stage 線程里的 sleep() 方法對兩個軍隊線程沒有任何作用。所以,當 Stage 線程執行到
System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");和
System.out.println("程咬金的理想就是結束戰爭,使百姓安居樂業!");之間時,兩個軍隊的線程并沒有被暫停,而是繼續執行各自 for 循環里的內容。
2016-11-19
System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");? 復制錯了吧