java 多線程 2

來源:互聯網
上載者:User

標籤:[]   理想   for   interrupt   set   戰鬥   ati   get   cep   

 1 package com.imooc.base; 2  3 public class Stage extends Thread { 4  5     public static void main(String[] args) { 6         new Stage().run(); 7     } 8     public void run(){ 9         10         System.out.println("歡迎觀看隋唐演義!");11         12         try {13             Thread.sleep(10000);14         } catch (InterruptedException e1) {15             e1.printStackTrace();16         }17         18         System.out.println("大幕徐徐拉開");19         20         ArmyRunnable armyTaskOfSuiDynasty = new ArmyRunnable();21         ArmyRunnable armyTaskOfRevolt = new ArmyRunnable();22         23         Thread armyOfSuiDynasty = new Thread(armyTaskOfSuiDynasty,"隋軍");24         Thread armyOfRevolt = new Thread(armyTaskOfRevolt,"農民起義軍");25         26         armyOfSuiDynasty.start();27         armyOfRevolt.start();28         29         try {30             Thread.sleep(50);31         } catch (InterruptedException e) {32             e.printStackTrace();33         }34         35         armyTaskOfSuiDynasty.keepRunning = false;36         armyTaskOfRevolt.keepRunning = false;37         38         try {39             armyOfRevolt.join();40         } catch (InterruptedException e) {41             e.printStackTrace();42         }43         44         System.out.println("正當雙方激戰正酣,半路殺出了個程咬金");45         46         Thread mrCheng = new KeyPersonThread();47         mrCheng.setName("程咬金");48         49         System.out.println("程咬金的理想就是結束戰爭,使百姓安居樂業!");50         51         armyTaskOfSuiDynasty.keepRunning = false;52         armyTaskOfRevolt.keepRunning = false;        53         54         try {55             Thread.sleep(2000);56         } catch (InterruptedException e) {57             e.printStackTrace();58         }59         60         mrCheng.start();61         62         try {63             mrCheng.join();64         } catch (InterruptedException e) {65             e.printStackTrace();66         }67         68         System.out.println("戰爭結束,人民安居樂業,程先生實現了自己的人生夢想!");69         System.out.println("謝謝觀看");70     }71 }
 1 package com.imooc.base; 2  3 public class KeyPersonThread extends Thread { 4     public void run(){ 5         System.out.println(Thread.currentThread().getName()+"開始了戰鬥!"); 6          7         for(int i=0;i<10;i++){ 8             System.out.println(Thread.currentThread().getName()+"左突右殺,攻擊隋軍。。。"); 9         }10         11         System.out.println(Thread.currentThread().getName()+"結束了戰鬥!");12     }13 }
 1 package com.imooc.base; 2  3 public class ArmyRunnable implements Runnable { 4     //volatile保證了線程可以正確的讀取其他線程寫入的值 5     //可見度 參考JMM,happens-before原則 6     volatile boolean keepRunning = true; 7  8     public void run() { 9         while(keepRunning){10             for(int i=0;i<5;i++){11                 System.out.println(Thread.currentThread().getName()+"進攻方{"+ i +"}");12                 13                 Thread.yield();14             }15             16         }17         System.out.println(Thread.currentThread().getName()+"結束了戰鬥!");18     }19 20 }

 

java 多線程 2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.