<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java something

    不要以為......很遙遠
    隨筆 - 23, 文章 - 1, 評論 - 2, 引用 - 0
    數據加載中……

    控制3個線程運行順序的Demo

    本程序可以控制3個線程按順序執行, 代碼如下:

    public class Test3 {

     public static void main(String[] args) throws IOException {
      final Test obj = new Test();
      
      new Thread()
      {
       public void run()
       {
        obj.m1();
       }
      }.start();
      new Thread()
      {
       public void run()
       {
        obj.m2();
       }
      }.start();
      new Thread()
      {
       public void run()
       {
        obj.m3();
       }
      }.start();
      
     }

    }

    class Test
    {
     static int count;
     volatile int target = 1;
     synchronized void m1()
     { 
       for (int i = 0; i < 10; i++)
       {
        while (target == 2 || target == 3)
        {
         try {
          wait();
         } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
         }
        }
        System.out.println("m1() =" + i);
        target = 2;
        notifyAll();
       }
     }
     
     synchronized void m2()
     {
      for (int i = 0; i < 10; i++)
      {
       while (target == 1 || target == 3)
       {
        try {
         wait();
        } catch (InterruptedException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }
       }
       System.out.println("m2() =" + i);
       target = 3;
       notifyAll();
      }
     }
     
     synchronized void m3()
     {
      for (int i = 0; i < 10; i++)
      {
       while (target == 1 || target == 2)
       {
        try {
         wait();
        } catch (InterruptedException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }
       }
       System.out.println("m3() =" + i);
       target = 1;
       notifyAll();
      }
     }
    }

    posted on 2011-09-02 02:27 Jamie 閱讀(1769) 評論(2)  編輯  收藏 所屬分類: 多線程

    評論

    # re: 控制3個線程運行順序的Demo  回復  更多評論   

    類似于信號量.
    2012-08-10 23:24 | zxogj

    # re: 控制3個線程運行順序的Demo  回復  更多評論   

    用retrantLock 也可以把。
    2012-08-10 23:24 | zxogj
    主站蜘蛛池模板: 三年片在线观看免费观看大全中国 | 国产v精品成人免费视频400条| 亚洲av一本岛在线播放| 国产亚洲欧洲Aⅴ综合一区 | 久久亚洲日韩看片无码| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 妇女自拍偷自拍亚洲精品| 亚洲精品午夜久久久伊人| 亚洲av中文无码乱人伦在线咪咕| 国产一区二区三区免费在线观看| 日韩国产免费一区二区三区| 可以免费观看的毛片| www一区二区www免费| 国产精品久久久久久亚洲影视| 亚洲xxxxxx| 亚洲婷婷综合色高清在线| 亚洲VA中文字幕不卡无码| 亚洲综合网站色欲色欲| 亚洲女同成人AⅤ人片在线观看| 免费无码又爽又刺激高潮的视频| 日本三级2019在线观看免费| 最近的中文字幕大全免费8| 国产拍拍拍无码视频免费| 精品一区二区三区免费视频| 青青草国产免费国产是公开| 国产精品亚洲色婷婷99久久精品| 亚洲精品无码不卡在线播放| 欧洲 亚洲 国产图片综合| 久久国产亚洲精品| 在线a亚洲老鸭窝天堂av高清| 亚洲看片无码在线视频| 亚洲中文字幕无码一去台湾 | 色www永久免费| 久久免费精品视频| 久久免费视频观看| 91热久久免费精品99| 亚洲免费一级视频| 无人在线观看免费高清视频| 卡1卡2卡3卡4卡5免费视频| 日韩a在线观看免费观看| 国产猛烈高潮尖叫视频免费|