跟着慕课做开发——隋唐演义实战

1.军队作战类

 1 package com.imooc.concurrent.base;
 2 
 3 //模拟双方作战的行为
 4 public class ArmyRunnable implements Runnable
 5 {
 6     //volatile关键字保证了线程可以正确的读取其他线程写入的值
 7     volatile boolean keepRunning = true;
 8     @Override
 9     public void run() 
10     {
11         while(keepRunning)
12         {
13             //发动五连击
14             for(int i=0;i<5;i++)
15             {
16                 System.out.println(Thread.currentThread().getName()+"进攻对方["+i+"]");
17                 //让出了处理器时间,下次该谁进攻还不一定呢!
18                 Thread.yield();
19                 
20             }
21         }
22         System.out.println(Thread.currentThread().getName()+"结束战斗了!");
23     }
24     
25 }

2.关键人物类

 1 package com.imooc.concurrent.base;
 2 
 3 //关键人物定义
 4 public class KeyPersonThread extends Thread
 5 {
 6     public void run()
 7     {
 8         System.out.println(Thread.currentThread().getName()+"开始了战斗!");
 9         for(int i=0;i<5;i++)
10         {
11             System.out.println(Thread.currentThread().getName()+"排山倒海,力挽狂澜!");
12         }
13         System.out.println(Thread.currentThread().getName()+"结束了战斗!");
14     }
15 }

3.历史舞台类

 1 package com.imooc.concurrent.base;
 2 
 3 //隋唐演义大戏舞台
 4 public class Stage extends Thread
 5 {
 6     public void run()
 7     {
 8         System.out.println("欢迎观看历史小剧隋唐演义!");
 9         //稍等片刻,等待好戏上演
10         try {
11             Thread.sleep(5000);
12         } catch (InterruptedException e1) {
13             // TODO Auto-generated catch block
14             e1.printStackTrace();
15         }
16         System.out.println("徐徐拉开大幕:");
17         try {
18             Thread.sleep(3000);
19         } catch (InterruptedException e1) {
20             // TODO Auto-generated catch block
21             e1.printStackTrace();
22         }
23         System.out.println("话说隋朝末年,隋军和农民军杀得昏天黑地...");
24         
25         ArmyRunnable armyTaskOfSuiDynasty = new ArmyRunnable();
26         ArmyRunnable armyTaskOfRevolt = new ArmyRunnable();
27         
28         //使用Runnable接口创建线程
29         Thread armyOfSuiDynasty = new Thread(armyTaskOfSuiDynasty,"隋军");
30         Thread armyOfRevolt = new Thread(armyTaskOfRevolt,"农民起义军");
31         //启动线程,让军队开始作战
32         armyOfSuiDynasty.start();
33         armyOfRevolt.start();
34         
35         //舞台线程休眠
36         try
37         {
38             Thread.sleep(50);
39         }
40         catch(InterruptedException e)
41         {
42             e.printStackTrace();
43         }
44         
45         System.out.println("正当双方激战正酣,半路杀出了程咬金。");
46         
47         Thread mrCheng = new KeyPersonThread();
48         mrCheng.setName("程咬金");
49         System.out.println("程咬金的理想是结束战争,使百姓安居乐业!");//这是一个从小就有好抱负的娃
50         
51         //停止军队作战,停止线程的方法
52         armyTaskOfSuiDynasty.keepRunning=false;
53         armyTaskOfRevolt.keepRunning=false;
54         
55         try {
56             Thread.sleep(2000);
57         } catch (InterruptedException e) {
58             // TODO Auto-generated catch block
59             e.printStackTrace();
60         }
61         
62         //关键人物登场
63         mrCheng.start();
64         
65         try {
66             mrCheng.join();
67         } catch (InterruptedException e) {
68             // TODO Auto-generated catch block
69             e.printStackTrace();
70         }
71         
72         System.out.println("战争结束,人民安居乐业,程先生实现了自己的理想!");
73         System.out.println("隋唐演义结束,请大家有序退场。");
74 }
75     public static void main(String[] args)
76     {
77         new Stage().start();
78     }
79 
80 }

输出结果:

欢迎观看历史小剧隋唐演义!
徐徐拉开大幕:
话说隋朝末年,隋军和农民军杀得昏天黑地...
农民起义军进攻对方[0]
隋军进攻对方[0]
农民起义军进攻对方[1]
隋军进攻对方[1]
农民起义军进攻对方[2]
隋军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[3]
农民起义军进攻对方[4]
隋军进攻对方[4]
农民起义军进攻对方[0]
隋军进攻对方[0]
农民起义军进攻对方[1]
隋军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
农民起义军进攻对方[1]
农民起义军进攻对方[2]
隋军进攻对方[1]
农民起义军进攻对方[3]
隋军进攻对方[2]
农民起义军进攻对方[4]
隋军进攻对方[3]
农民起义军进攻对方[0]
隋军进攻对方[4]
农民起义军进攻对方[1]
隋军进攻对方[0]
农民起义军进攻对方[2]
隋军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[3]
农民起义军进攻对方[4]
隋军进攻对方[4]
农民起义军进攻对方[0]
隋军进攻对方[0]
农民起义军进攻对方[1]
农民起义军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
隋军进攻对方[2]
隋军进攻对方[3]
隋军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
农民起义军进攻对方[1]
隋军进攻对方[1]
农民起义军进攻对方[2]
隋军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[3]
农民起义军进攻对方[4]
隋军进攻对方[4]
农民起义军进攻对方[0]
隋军进攻对方[0]
农民起义军进攻对方[1]
隋军进攻对方[1]
农民起义军进攻对方[2]
隋军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[3]
农民起义军进攻对方[4]
隋军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[2]
隋军进攻对方[1]
农民起义军进攻对方[3]
隋军进攻对方[2]
农民起义军进攻对方[4]
隋军进攻对方[3]
农民起义军进攻对方[0]
隋军进攻对方[4]
农民起义军进攻对方[1]
隋军进攻对方[0]
农民起义军进攻对方[2]
隋军进攻对方[1]
农民起义军进攻对方[3]
隋军进攻对方[2]
农民起义军进攻对方[4]
隋军进攻对方[3]
农民起义军进攻对方[0]
隋军进攻对方[4]
农民起义军进攻对方[1]
隋军进攻对方[0]
农民起义军进攻对方[2]
隋军进攻对方[1]
农民起义军进攻对方[3]
隋军进攻对方[2]
农民起义军进攻对方[4]
隋军进攻对方[3]
农民起义军进攻对方[0]
隋军进攻对方[4]
农民起义军进攻对方[1]
隋军进攻对方[0]
农民起义军进攻对方[2]
隋军进攻对方[1]
农民起义军进攻对方[3]
隋军进攻对方[2]
农民起义军进攻对方[4]
隋军进攻对方[3]
农民起义军进攻对方[0]
隋军进攻对方[4]
农民起义军进攻对方[1]
隋军进攻对方[0]
农民起义军进攻对方[2]
隋军进攻对方[1]
农民起义军进攻对方[3]
隋军进攻对方[2]
农民起义军进攻对方[4]
隋军进攻对方[3]
农民起义军进攻对方[0]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
农民起义军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
农民起义军进攻对方[1]
隋军进攻对方[1]
农民起义军进攻对方[2]
隋军进攻对方[2]
农民起义军进攻对方[3]
隋军进攻对方[3]
隋军进攻对方[4]
农民起义军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[0]
隋军进攻对方[1]
农民起义军进攻对方[1]
隋军进攻对方[2]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
农民起义军进攻对方[3]
隋军进攻对方[0]
农民起义军进攻对方[4]
隋军进攻对方[1]
农民起义军进攻对方[0]
隋军进攻对方[2]
农民起义军进攻对方[1]
隋军进攻对方[3]
农民起义军进攻对方[2]
隋军进攻对方[4]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军进攻对方[0]
隋军进攻对方[3]
农民起义军进攻对方[1]
隋军进攻对方[4]
农民起义军进攻对方[2]
隋军进攻对方[0]
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
正当双方激战正酣,半路杀出了程咬金。
隋军进攻对方[3]
农民起义军进攻对方[0]
隋军进攻对方[4]
农民起义军进攻对方[1]
隋军进攻对方[0]
农民起义军进攻对方[2]
程咬金的理想是结束战争,使百姓安居乐业!
农民起义军进攻对方[3]
隋军进攻对方[1]
农民起义军进攻对方[4]
隋军进攻对方[2]
农民起义军结束战斗了!
隋军进攻对方[3]
隋军进攻对方[4]
隋军结束战斗了!
程咬金开始了战斗!
程咬金排山倒海,力挽狂澜!
程咬金排山倒海,力挽狂澜!
程咬金排山倒海,力挽狂澜!
程咬金排山倒海,力挽狂澜!
程咬金排山倒海,力挽狂澜!
程咬金结束了战斗!
战争结束,人民安居乐业,程先生实现了自己的理想!
隋唐演义结束,请大家有序退场。

参考视频:慕课网《深入浅出Java多线程》

posted @ 2017-04-30 21:20  王醒燕  阅读(278)  评论(0编辑  收藏  举报