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

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

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

    愛睡覺的程序員

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      5 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks
         CyclicBarrier,讓多線程齊步走。讓多個線程到達某一個點之后,再同時往下運行。
        思考這樣一個案例:兩個工人從兩端挖掘隧道,各自獨立奮戰,中間不溝通,如果兩人在匯合點處碰頭了,則表明隧道已經挖通。這描繪的也是在多線程編程中,兩個線程獨立運行,在沒有線程間通信的情況下,如何解決兩個線程匯集在同一原點的問題。Java提供了CyclicBarrier(關卡,也有翻譯為柵欄)工具類來實現。
        代碼如下:
      1 import java.util.Random;
     2 import java.util.concurrent.CyclicBarrier;
     3 import java.util.concurrent.TimeUnit;
     4 
     5 public class CyclicBarrierTest {
     6     public static void main(String[] args) {
     7         // 設置匯集數量,以及匯集完成后的任務
     8         CyclicBarrier cb = new CyclicBarrier(2, new Runnable() {
     9             public void run() {
    10                 System.out.println("隧道已經打通!");
    11             }
    12         });
    13         // 工人1挖隧道
    14         new Thread(new Worker(cb), "工人1").start();
    15         // 工人2挖隧道
    16         new Thread(new Worker(cb), "工人2").start();
    17     }
    18 
    19 
    20     static class Worker implements Runnable {
    21         // 關卡
    22         private CyclicBarrier cb;
    23 
    24         public Worker(CyclicBarrier _cb) {
    25             cb = _cb;
    26         }
    27 
    28         public void run() {
    29             try {
    30                 TimeUnit.SECONDS.sleep(new Random().nextInt(10));
    31                 System.out.println(Thread.currentThread().getName() + "-到達匯合點");
    32                 // 到達匯合點
    33                 cb.await();
    34             } catch (Exception e) {
    35                 // 異常處理
    36             }
    37         }
    38     }
    39 }
    40 
    posted on 2015-02-27 11:50 polang 閱讀(243) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av丰满熟妇在线播放| 亚洲一区二区三区AV无码| av电影在线免费看| 小小影视日本动漫观看免费| 久久精品国产亚洲av麻豆图片| 国产免费AV片在线播放唯爱网| 亚洲国产成人精品电影| 久久经典免费视频| 亚洲色丰满少妇高潮18p| 女人张腿给男人桶视频免费版| 亚洲人成无码网站在线观看| 精品久久洲久久久久护士免费| 亚洲色大成网站www| 又黄又爽一线毛片免费观看| 四虎影视久久久免费观看| 中文字幕亚洲乱码熟女一区二区 | 女人被男人躁的女爽免费视频 | 亚洲小说区图片区另类春色| 韩国免费a级作爱片无码| 国产日韩亚洲大尺度高清| 99热在线免费观看| 亚洲综合无码一区二区痴汉| 免费在线观看毛片| 久久精品免费电影| 亚洲人成人网站18禁| 爱情岛论坛网亚洲品质自拍| 久久午夜无码免费| 亚洲av乱码一区二区三区按摩| 亚洲男人的天堂一区二区| 亚洲电影免费在线观看| 伊人久久综在合线亚洲91| 99久久精品免费视频| 亚洲AV日韩AV一区二区三曲| 亚洲另类激情综合偷自拍图| 国产免费的野战视频| 青青草97国产精品免费观看| 久久精品亚洲中文字幕无码网站| 成年女人喷潮毛片免费播放| 日韩电影免费在线观看网址| 中文字幕在线观看亚洲| 可以免费观看一级毛片黄a|