java多線程之CyclicBarrier的使用方法
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了錯那免費建站歡迎大家使用!
public class CyclicBarrierTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final CyclicBarrier cb = new CyclicBarrier(3); for(int i=0;i<3;i++){ Runnable runnable = new Runnable(){ public void run(){ try { Thread.sleep((long)(Math.random()*10000)); System.out.println("線程" + Thread.currentThread().getName() + "即將到達(dá)集合地點1,當(dāng)前已有" + (cb.getNumberWaiting()+1) + "個已經(jīng)到達(dá)," + (cb.getNumberWaiting()==2?"都到齊了,繼續(xù)走啊":"正在等候")); cb.await(); Thread.sleep((long)(Math.random()*10000)); System.out.println("線程" + Thread.currentThread().getName() + "即將到達(dá)集合地點2,當(dāng)前已有" + (cb.getNumberWaiting()+1) + "個已經(jīng)到達(dá)," + (cb.getNumberWaiting()==2?"都到齊了,繼續(xù)走啊":"正在等候")); cb.await(); Thread.sleep((long)(Math.random()*10000)); System.out.println("線程" + Thread.currentThread().getName() + "即將到達(dá)集合地點3,當(dāng)前已有" + (cb.getNumberWaiting() + 1) + "個已經(jīng)到達(dá)," + (cb.getNumberWaiting()==2?"都到齊了,繼續(xù)走啊":"正在等候")); cb.await(); } catch (Exception e) { e.printStackTrace(); } } }; service.execute(runnable); } service.shutdown(); } }
運行結(jié)果如下:
線程pool-1-thread-3即將到達(dá)集合地點1,當(dāng)前已有1個已經(jīng)到達(dá),正在等候 線程pool-1-thread-1即將到達(dá)集合地點1,當(dāng)前已有2個已經(jīng)到達(dá),正在等候 線程pool-1-thread-2即將到達(dá)集合地點1,當(dāng)前已有3個已經(jīng)到達(dá),都到齊了,繼續(xù)走啊 線程pool-1-thread-3即將到達(dá)集合地點2,當(dāng)前已有1個已經(jīng)到達(dá),正在等候 線程pool-1-thread-1即將到達(dá)集合地點2,當(dāng)前已有2個已經(jīng)到達(dá),正在等候 線程pool-1-thread-2即將到達(dá)集合地點2,當(dāng)前已有3個已經(jīng)到達(dá),都到齊了,繼續(xù)走啊 線程pool-1-thread-1即將到達(dá)集合地點3,當(dāng)前已有1個已經(jīng)到達(dá),正在等候 線程pool-1-thread-3即將到達(dá)集合地點3,當(dāng)前已有2個已經(jīng)到達(dá),正在等候 線程pool-1-thread-2即將到達(dá)集合地點3,當(dāng)前已有3個已經(jīng)到達(dá),都到齊了,繼續(xù)走啊
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
網(wǎng)頁標(biāo)題:java多線程之CyclicBarrier的使用方法
文章網(wǎng)址:http://chinadenli.net/article24/gepeje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、Google、網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)、App設(shè)計、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)