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


    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多线程》

  • 相关阅读:
    AngularJS XMLHttpRequest
    AngularJS服务
    angularJS过滤器
    AngularJ控制器
    angular Scope(作用域)
    angular Model 指令
    angular指令
    微信小程序调用微信支付
    微信小程序一直保持登陆状态
    微信小程序ajax请求数据及一些方法
  • 原文地址:https://www.cnblogs.com/wxywxy/p/6790461.html
Copyright © 2020-2023  润新知