Java多線程中的CyclicBarrier詳解
什么是CyclicBarrier
同步屏障,允許一組線程互相等待以到達(dá)一個(gè)公共的障礙點(diǎn)。當(dāng)設(shè)定的線程數(shù)到達(dá)屏障時(shí),阻塞的線程繼續(xù)執(zhí)行。
構(gòu)造方法
- CyclicBarrier(int parties),parties設(shè)定的阻礙線程數(shù)。
- CyclicBarrier(int parties, Runnable barrierAction),barrierAction任務(wù),設(shè)定的線程數(shù)都到達(dá)屏障時(shí),才會(huì)執(zhí)行。
模擬場景
景區(qū)游覽車,一次坐滿20人就發(fā)車,公司團(tuán)建共去了100人。
public class TestCyclicBarrier { public static void main(String[] args) { CyclicBarrier barrier = new CyclicBarrier(20, new Runnable() { @Override public void run() { System.out.println("滿人,發(fā)車"); } }); for(int i=0; i<100; i++) { new Thread(()->{ try { barrier.await(); } catch (InterruptedException e) { e.printStackTrace(); } catch (BrokenBarrierException e) { e.printStackTrace(); } }).start(); } } }
到此這篇關(guān)于Java多線程中的CyclicBarrier詳解的文章就介紹到這了,更多相關(guān)CyclicBarrier詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java中CountDownLatch和CyclicBarrier的區(qū)別與詳解
- Java中的CyclicBarrier同步屏障詳解
- Java多線程循環(huán)柵欄CyclicBarrier正確使用方法
- 詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier
- Java并發(fā)工具類CountDownLatch CyclicBarrier使用詳解
- Java多線程同步工具類CyclicBarrier的使用
- Java CountDownLatch計(jì)數(shù)器與CyclicBarrier循環(huán)屏障
- Java高并發(fā)之CyclicBarrier的用法詳解
相關(guān)文章
基于Java8 Stream API實(shí)現(xiàn)數(shù)據(jù)抽取收集
這篇文章主要介紹了基于Java8 Stream API實(shí)現(xiàn)數(shù)據(jù)抽取收集,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03java獲取request中的參數(shù)以及java解析URL問號(hào)后的參數(shù)
這篇文章主要介紹了java獲取request中的參數(shù)以及java解析URL問號(hào)后的參數(shù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Java8新特性之泛型的目標(biāo)類型推斷_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
泛型是Java SE 1.5的新特性,泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個(gè)參數(shù)。下面通過本文給分享Java8新特性之泛型的目標(biāo)類型推斷,感興趣的朋友參考下吧2017-06-06如何基于mybatis框架查詢數(shù)據(jù)庫表數(shù)據(jù)并打印
這篇文章主要介紹了如何基于mybatis框架查詢數(shù)據(jù)庫表數(shù)據(jù)并打印,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11SpringBoot接口調(diào)用之后報(bào)404問題的解決方案
這篇文章主要介紹了SpringBoot接口調(diào)用之后報(bào)404問題的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。2021-06-06Spring實(shí)現(xiàn)Aware接口自定義獲取bean的兩種方式
這篇文章主要介紹了Java編程實(shí)現(xiàn)Aware接口自定義獲取bean的兩種方式,通過BeanFactoryAware和ApplicationContextAware,具有一定參考價(jià)值,需要的朋友可以了解下。2017-09-09springboot+element-ui實(shí)現(xiàn)多文件一次上傳功能
這篇文章主要介紹了springboot+element-ui多文件一次上傳功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06