創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站制作、成都做網(wǎng)站易于使用并且具有良好的響應(yīng)性。這篇文章將為大家詳細(xì)講解有關(guān)關(guān)于java中CyclicBarrier,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
1.CyclicBarrier簡介
CyclicBarrier 的字面意思是可循環(huán)使用(Cyclic)的屏障(Barrier)。它要做的事情是,讓一組線程到達(dá)一個(gè)屏障(也可以叫同步點(diǎn))時(shí)被阻塞,直到最后一個(gè)線程到達(dá)屏障時(shí),屏障才會開門,所有被屏障攔截的線程才會繼續(xù)干活。 在JDK中對CyclicBarrier是這樣說的“允許一組線程全部等待彼此到達(dá)公共屏障點(diǎn)的同步輔助。 循環(huán)障礙在涉及必須偶爾彼此等待的固定大小的線程程序中是有用的。屏障稱為循環(huán) ,因?yàn)樗梢栽诘却€程釋放后重新使用”。CountDownLatch的計(jì)數(shù)器無法被重置;CyclicBarrier的計(jì)數(shù)器可以被重置后使用,因此它被稱為是循環(huán)的barrier。
我們先來看一下他的構(gòu)造方法和使用方式:
構(gòu)造函數(shù):
CyclicBarrier(int parties) //其參數(shù)表示屏障攔截的線程數(shù)量,每個(gè)線程調(diào)用await方法告
訴CyclicBarrier我已經(jīng)到達(dá)了屏障,然后當(dāng)前線程被阻塞。CyclicBarrier (int parties, Runnable barrierAction) //創(chuàng)建一個(gè)新的CyclicBarrier ,
當(dāng)給定數(shù)量的參與者(線程)等待它時(shí),它將跳閘,當(dāng)障礙跳閘時(shí),它
將執(zhí)行 給定的障礙動作(Runnable參數(shù)提供),由最后一個(gè)線程進(jìn)入障礙。
方法:
int await() //在所有參與者都已經(jīng)在此 barrier 上調(diào)用 await 方法之前,將一直等待。
方法之前將一直等待,或者超出了指定的等待時(shí)間。
int getNumberWaiting() //返回當(dāng)前在屏障處等待的參與者數(shù)目。
int getParties() //返回要求啟動此 barrier 的參與者數(shù)目。
boolean isBroken() //查詢此屏障是否處于損壞狀態(tài)。
void reset() //將屏障重置為其初始狀態(tài)。
下面我們來看一個(gè)小程序了解一下CyclicBarrier的使用方式:
public class CyclicBarrierTest { static CyclicBarrier c = new CyclicBarrier(2); public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { try { c.await(); } catch (Exception e) { } System.out.println(Thread.currentThread().getName()+"正在等待..."); } }).start(); try { c.await(); } catch (Exception e) { } System.out.println(Thread.currentThread().getName()+"正在等待..."); System.out.println("人夠了,出發(fā)吧 當(dāng)前有 "+c.getParties()+" 個(gè)人參與比賽"); } }
本文標(biāo)題:關(guān)于java中CyclicBarrier-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article8/iogop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站排名、ChatGPT、網(wǎng)站內(nèi)鏈、電子商務(wù)、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容