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

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

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

    愛(ài)睡覺(jué)的程序員

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      5 隨筆 :: 0 文章 :: 0 評(píng)論 :: 0 Trackbacks
         CyclicBarrier,讓多線程齊步走。讓多個(gè)線程到達(dá)某一個(gè)點(diǎn)之后,再同時(shí)往下運(yùn)行。
        思考這樣一個(gè)案例:兩個(gè)工人從兩端挖掘隧道,各自獨(dú)立奮戰(zhàn),中間不溝通,如果兩人在匯合點(diǎn)處碰頭了,則表明隧道已經(jīng)挖通。這描繪的也是在多線程編程中,兩個(gè)線程獨(dú)立運(yùn)行,在沒(méi)有線程間通信的情況下,如何解決兩個(gè)線程匯集在同一原點(diǎn)的問(wèn)題。Java提供了CyclicBarrier(關(guān)卡,也有翻譯為柵欄)工具類來(lái)實(shí)現(xiàn)。
        代碼如下:
      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         // 設(shè)置匯集數(shù)量,以及匯集完成后的任務(wù)
     8         CyclicBarrier cb = new CyclicBarrier(2, new Runnable() {
     9             public void run() {
    10                 System.out.println("隧道已經(jīng)打通!");
    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         // 關(guān)卡
    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() + "-到達(dá)匯合點(diǎn)");
    32                 // 到達(dá)匯合點(diǎn)
    33                 cb.await();
    34             } catch (Exception e) {
    35                 // 異常處理
    36             }
    37         }
    38     }
    39 }
    40 
    posted on 2015-02-27 11:50 polang 閱讀(241) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品无AMM毛片| 免费观看无遮挡www的视频| 亚洲一级片在线观看| 高清免费久久午夜精品| 全部免费毛片免费播放| 免费又黄又爽又猛大片午夜| 亚洲综合色区在线观看| 午夜视频免费观看| av无码久久久久不卡免费网站| 免费在线看污视频| 亚洲国产精品成人精品小说 | 又粗又大又长又爽免费视频| 日本zzzzwww大片免费| 国产成人精品免费久久久久 | 久久精品亚洲乱码伦伦中文| 国产又粗又长又硬免费视频| 美女巨胸喷奶水视频www免费| 污污视频网站免费观看| 久久精品国产亚洲AV| 亚洲AV色无码乱码在线观看| 亚洲午夜无码久久久久软件| 久久精品国产亚洲AV不卡| 国产精品亚洲视频| 中文亚洲AV片在线观看不卡| 亚洲精品成人片在线观看精品字幕| 久久青青草原亚洲av无码| 亚洲中文字幕无码不卡电影| 爱情岛论坛网亚洲品质自拍| 日韩一卡2卡3卡4卡新区亚洲 | 亚洲综合图色40p| 最近最新中文字幕完整版免费高清| 在线美女免费观看网站h| 亚洲日韩一中文字暮| 亚洲国产综合AV在线观看| 免费国产va在线观看| 中文字幕无线码中文字幕免费| 国产精品99精品久久免费| 波多野结衣免费在线| 黄a大片av永久免费| 亚洲综合伊人久久大杳蕉| 亚洲激情校园春色|