为什么System.out.println("正当双方激战正酣,半路杀出了个程咬金");和System.out.println("程咬金的理想就是结束战争,使百姓安居乐业!");中间还会有进攻啊 线程不是sleep了吗
为什么System.out.println("正当双方激战正酣,半路杀出了个程咬金");和System.out.println("程咬金的理想就是结束战争,使百姓安居乐业!");中间还会有进攻啊 线程不是sleep了吗
为什么System.out.println("正当双方激战正酣,半路杀出了个程咬金");和System.out.println("程咬金的理想就是结束战争,使百姓安居乐业!");中间还会有进攻啊 线程不是sleep了吗
2016-11-19
我来挖坟啦,首先战争(进程)是动态的一直持续的,不会因为程咬金的出场而停止。
但是!如果想要凸显出程咬金的心理,而整个舞台停止是很简单滴~
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();
因为执行 sleep() 的进程是主线程 Stage,目的是从两个军队启动线程开始
//启动线程,让军队开始作战 armyOfSuiDynasty.start(); armyOfRevolt.start();
到程咬金出现
System.out.println("正当双方激战正酣,半路杀出了个程咬金");
之间,留有时间给军队双方执行各自线程 run() 方法里的 for 循环。这个 Stage 线程里的 sleep() 方法对两个军队线程没有任何作用。所以,当 Stage 线程执行到
System.out.println("正当双方激战正酣,半路杀出了个程咬金");
和
System.out.println("程咬金的理想就是结束战争,使百姓安居乐业!");
之间时,两个军队的线程并没有被暂停,而是继续执行各自 for 循环里的内容。
举报