Java多線程中的CyclicBarrier詳解
什么是CyclicBarrier
同步屏障,允許一組線程互相等待以到達(dá)一個公共的障礙點(diǎn)。當(dāng)設(shè)定的線程數(shù)到達(dá)屏障時,阻塞的線程繼續(xù)執(zhí)行。
構(gòu)造方法
- CyclicBarrier(int parties),parties設(shè)定的阻礙線程數(shù)。
- CyclicBarrier(int parties, Runnable barrierAction),barrierAction任務(wù),設(shè)定的線程數(shù)都到達(dá)屏障時,才會執(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)文章
SpringBoot?使用?Sa-Token?完成權(quán)限認(rèn)證的操作方法
Sa-Token是一款輕量級Java權(quán)限認(rèn)證框架,適用于快速搭建權(quán)限系統(tǒng),它提供了豐富的功能,下面給大家介紹SpringBoot?使用?Sa-Token?完成權(quán)限認(rèn)證的相關(guān)操作,感興趣的朋友跟隨小編一起看看吧2025-02-02
Mybatis-plus實(shí)現(xiàn)join連表查詢的示例代碼
mybatis-plus在連表查詢上是不行的,如果需要連表查詢,就得乖乖的去寫xml文件了,本文介紹了mybatis-plus-join框架,它支持連表查詢,感興趣的可以了解一下2023-08-08
Java SpringBoot實(shí)現(xiàn)AOP
AOP包括連接點(diǎn)(JoinPoint)、切入點(diǎn)(Pointcut)、增強(qiáng)(Advisor)、切面(Aspect)、AOP代理(AOP Proxy),具體的方法和類型下面文章會舉例說明,感興趣的小伙伴和小編一起閱讀全文吧2021-09-09
Spring與Shiro整合及加載權(quán)限表達(dá)式問題
這篇文章主要介紹了Spring與Shiro整合及加載權(quán)限表達(dá)式問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
java 實(shí)現(xiàn)漢諾塔詳解及實(shí)現(xiàn)代碼
這篇文章主要介紹了java 實(shí)現(xiàn)漢諾塔詳解及實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04

