這篇文章將為大家詳細講解有關Java中有哪些并發(fā)工具類有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
10年積累的成都做網(wǎng)站、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有瓜州免費網(wǎng)站建設讓你可以放心的選擇與我們合作。CountDownL _atch
CountDownL _atch可以實現(xiàn)線程阻塞,等待其他線程執(zhí)行完成之后向下執(zhí)行。在工作中,同時啟動多個線程執(zhí)行多個任務,多個任務執(zhí)行完成后,返回執(zhí)行完成的結果也是使用CountDownL _atch實現(xiàn)的。
CyclicBarrier
CyclicBarrier主要的方法就是-一個: await()。 await() 方法每被調用一次,計數(shù)便會減少1,并阻塞住當前線程。當計數(shù)減至0時,阻塞解除,所有在此CyclicBarrier上面阻塞的線程開始運行。在這之后,如果再次調用.await()方法,計數(shù)就又會變成N-1,新-輪重新開始,這便是Cyclic的含義所在。
Semaphore
Semaphore的功能比較好理解,就是通過構造函數(shù)設定一個數(shù)量的許可,然后通過acquire方法獲得許可,release 方法釋放許可。它還有tryAcquire和acquireUniterruptibly方法,可以根據(jù)自己的需要選擇。Semaphore是只允許定數(shù)量的線程同時執(zhí)行一段任務。
Exchanger
Exchanger(交換者)是一個用于線程間協(xié)作的工具類。Exchanger用于進行線程間的數(shù)據(jù)交換。它提供一個同步點,在這個同步點兩個線程可以交換彼此的數(shù)據(jù)。這兩個線程通過exchange方法交換數(shù)據(jù), 如果第一個線程先執(zhí)行exchange方法,它會一直等待第二個線程也執(zhí)行exchange,當兩個線程都到達同步點時,這兩個線程就可以交換數(shù)據(jù),將本線程生產(chǎn)出來的數(shù)據(jù)傳遞給對方。因此使用Exchanger的重點是成對的線程使用exchange()方法,當有一對線程達到了同步點,就會進行交換數(shù)據(jù)。因此該工具類的線程對象是成對的。
關于Java中有哪些并發(fā)工具類有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。