最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的CyclicBarrier循環(huán)柵欄詳解

 更新時間:2023年12月16日 09:11:02   作者:小晨想好好學習  
這篇文章主要介紹了Java中的CyclicBarrier循環(huán)柵欄詳解,CyclicBarrier循環(huán)柵欄是用來進行線程協(xié)作,等待線程滿足某個計數(shù),構(gòu)造時設(shè)置計數(shù)個數(shù),每個線程執(zhí)行到某個需要“同步”的時刻調(diào)用 await()方法進行等待,當?shù)却木€程數(shù)滿足計數(shù)個數(shù)時,繼續(xù)執(zhí)行,需要的朋友可以參考下

一、是什么?

CyclicBarrier : 循環(huán)柵欄,用來進行線程協(xié)作,等待線程滿足某個計數(shù)。

構(gòu)造時設(shè)置計數(shù)個數(shù),每個線程執(zhí)行到某個需要“同步”的時刻調(diào)用 await() 方法進行等待,當?shù)却木€程數(shù)滿足計數(shù)個數(shù)時,繼續(xù)執(zhí)行

二、使用demo

   public static void main(String[] args) {
        ExecutorService service = Executors.newFixedThreadPool(3);
        CyclicBarrier barrier = new CyclicBarrier(2, ()-> {
            log.debug("task1, task2 finish...");
        });
        service.submit(() -> {
            log.debug("task1 begin...");
            sleep(1);
            try {
                barrier.await(); // 2-1=1
            } catch (InterruptedException | BrokenBarrierException e) {
                e.printStackTrace();
            }
        });
        service.submit(() -> {
            log.debug("task2 begin...");
            sleep(2);
            try {
                barrier.await(); // 1-1=0
            } catch (InterruptedException | BrokenBarrierException e) {
                e.printStackTrace();
            }
        });
        service.shutdown();
    }

在這里插入圖片描述

三、注意

CyclicBarrier 與 CountDownLatch 的主要區(qū)別在于 CyclicBarrier 是可以重用的

到此這篇關(guān)于Java中的CyclicBarrier循環(huán)柵欄詳解的文章就介紹到這了,更多相關(guān)CyclicBarrier循環(huán)柵欄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

石狮市| 江陵县| 石首市| 三都| 肥城市| 孙吴县| 贵溪市| 沅江市| 孟连| 焦作市| 名山县| 崇礼县| 澄迈县| 象山县| 阿勒泰市| 福海县| 南江县| 满洲里市| 漠河县| 武安市| 雅江县| 新泰市| 珠海市| 广平县| 宁津县| 长子县| 屏山县| 华蓥市| 深水埗区| 江津市| 汉寿县| 马龙县| 商河县| 湘西| 方山县| 灵石县| 故城县| 方正县| 陈巴尔虎旗| 娱乐| 越西县|