欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java多線程之CyclicBarrier的使用方法

 更新時間:2017年10月24日 15:55:09   作者:chuyouyinghe  
這篇文章主要介紹了java多線程之CyclicBarrier的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下

java多線程之CyclicBarrier的使用方法

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() +  
                "即將到達集合地點1,當前已有" + (cb.getNumberWaiting()+1) + "個已經(jīng)到達," + (cb.getNumberWaiting()==2?"都到齊了,繼續(xù)走啊":"正在等候"));             
            cb.await(); 
             
            Thread.sleep((long)(Math.random()*10000));  
            System.out.println("線程" + Thread.currentThread().getName() +  
                "即將到達集合地點2,當前已有" + (cb.getNumberWaiting()+1) + "個已經(jīng)到達," + (cb.getNumberWaiting()==2?"都到齊了,繼續(xù)走啊":"正在等候")); 
            cb.await();  
            Thread.sleep((long)(Math.random()*10000));  
            System.out.println("線程" + Thread.currentThread().getName() +  
                "即將到達集合地點3,當前已有" + (cb.getNumberWaiting() + 1) + "個已經(jīng)到達," + (cb.getNumberWaiting()==2?"都到齊了,繼續(xù)走啊":"正在等候"));            
            cb.await();            
          } catch (Exception e) { 
            e.printStackTrace(); 
          }         
        } 
      }; 
      service.execute(runnable); 
    } 
    service.shutdown(); 
  } 
} 

運行結(jié)果如下:

線程pool-1-thread-3即將到達集合地點1,當前已有1個已經(jīng)到達,正在等候
線程pool-1-thread-1即將到達集合地點1,當前已有2個已經(jīng)到達,正在等候
線程pool-1-thread-2即將到達集合地點1,當前已有3個已經(jīng)到達,都到齊了,繼續(xù)走啊
線程pool-1-thread-3即將到達集合地點2,當前已有1個已經(jīng)到達,正在等候
線程pool-1-thread-1即將到達集合地點2,當前已有2個已經(jīng)到達,正在等候
線程pool-1-thread-2即將到達集合地點2,當前已有3個已經(jīng)到達,都到齊了,繼續(xù)走啊
線程pool-1-thread-1即將到達集合地點3,當前已有1個已經(jīng)到達,正在等候
線程pool-1-thread-3即將到達集合地點3,當前已有2個已經(jīng)到達,正在等候
線程pool-1-thread-2即將到達集合地點3,當前已有3個已經(jīng)到達,都到齊了,繼續(xù)走啊


如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Java中final關(guān)鍵字和final的4種用法

    Java中final關(guān)鍵字和final的4種用法

    這篇文章主要給大家分享的是?Java中final關(guān)鍵字和final的4種用法修飾類、修飾方法、修飾變量、修飾參數(shù),下面文章具有一定的參考價值,需要的小伙伴可以參考一下
    2021-11-11
  • Java神操作:圖片快速轉(zhuǎn)換PDF秘籍

    Java神操作:圖片快速轉(zhuǎn)換PDF秘籍

    想掌握Java神操作,將圖片快速轉(zhuǎn)換成PDF嗎?這份秘籍將一步步引導(dǎo)你,輕松實現(xiàn)這一目標,別等了,跟著我們一起,解鎖這項超實用技能吧!
    2024-02-02
  • Mybatis?Plus分頁查詢返回total為0問題解決

    Mybatis?Plus分頁查詢返回total為0問題解決

    在使用MybatisPlus進行分頁查詢時,可能會遇到返回的總條數(shù)(total)為0的問題,這通常是由于未配置MybatisPlus的分頁插件攔截器導(dǎo)致的,本文就來介紹一下解決方法,感興趣的可以了解一下
    2024-10-10
  • myeclipse導(dǎo)出可運行jar包簡介

    myeclipse導(dǎo)出可運行jar包簡介

    這篇文章主要介紹了myeclipse導(dǎo)出可運行jar包簡介,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • NoHttpResponseException問題排查解決記錄分析

    NoHttpResponseException問題排查解決記錄分析

    這篇文章主要為大家介紹了NoHttpResponseException問題排查解決記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 深入理解Java中Filter的作用種類及應(yīng)用場景

    深入理解Java中Filter的作用種類及應(yīng)用場景

    Filter(過濾器)是Java Web中的一種重要組件,可以對請求和響應(yīng)進行攔截處理,對數(shù)據(jù)進行過濾和處理。Filter可以實現(xiàn)許多功能,如:鑒權(quán)、日志記錄、字符編碼轉(zhuǎn)換、數(shù)據(jù)壓縮、請求重定向等等
    2023-04-04
  • JAVA學(xué)習(xí)之一步步搭建spring框架

    JAVA學(xué)習(xí)之一步步搭建spring框架

    這篇文章主要介紹了JAVA學(xué)習(xí)之一步步搭建spring框架,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Mybatis反射核心類Reflector的實現(xiàn)

    Mybatis反射核心類Reflector的實現(xiàn)

    本文主要介紹了Mybatis反射核心類Reflector的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Java?API文檔的使用方法詳解

    Java?API文檔的使用方法詳解

    在開發(fā)過程中如果遇到疑難問題,除了可以在網(wǎng)絡(luò)中尋找答案,也可以在Java API幫助文檔(簡稱"JDK文檔"”)中查找答案,下面這篇文章主要給大家介紹了關(guān)于Java?API文檔使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Java構(gòu)造方法和方法重載詳解

    Java構(gòu)造方法和方法重載詳解

    大家好,本篇文章主要講的是Java構(gòu)造方法和方法重載詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論