Java多線程并發(fā)JUC包CountDownLatch閉鎖的實例
更新時間:2025年05月16日 10:42:16 作者:二六八
這篇文章主要介紹了Java多線程并發(fā)JUC包CountDownLatch閉鎖的實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Java多線程并發(fā)JUC包 CountDownLatch 閉鎖
閉鎖是一次性對象
一旦進入終止狀態(tài),就不能被重置。
public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { int count = 5; CountDownLatch countDownLatch = new CountDownLatch(count); for (int i = 0; i < count; i++) { new Tangerine(String.valueOf(i),countDownLatch).start(); } System.out.printf("main線程等待\n"); countDownLatch.await(); System.out.printf("main線程運行結(jié)束"); } static class Tangerine extends Thread { final CountDownLatch countDownLatch; public Tangerine(String name,CountDownLatch countDownLatch) { super(name); this.countDownLatch = countDownLatch; } @Override public void run() { System.out.printf("線程%s在運行\(zhòng)n", this.getName()); countDownLatch.countDown(); } } }
await()
等待,直到計數(shù)器中的值減為0。await(long timeout, TimeUnit unit)
可以自己設(shè)置超時時間,一旦超過這個時間,await線程被喚醒,如果返回true,說明計數(shù)器為0,否則,不為0。countDown()
使得計數(shù)器的值減1。getCount()
得到當前計數(shù)器的值。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java.io.UnsupportedEncodingException異常的正確解決方法(親測有效!)
這篇文章主要給大家介紹了關(guān)于java.io.UnsupportedEncodingException異常的正確解決方法,文中介紹的辦法親測有效,java.io.UnsupportedEncodingException是Java編程語言中的一個異常類,表示指定的字符集不被支持,需要的朋友可以參考下2024-02-02Java:com.netflix.client.ClientException錯誤解決
本文主要介紹了Java:com.netflix.client.ClientException錯誤解決,主要是指出客戶端?module-sso?試圖通過負載均衡器訪問服務(wù)時,負載均衡器沒有找到可用的服務(wù)器來處理請求,下面就來介紹一下解決方法2024-08-08java如何實現(xiàn)基于opencv全景圖合成實例代碼
全景圖相信大家應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于java如何實現(xiàn)基于opencv全景圖合成的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧2018-07-07Java中Bean轉(zhuǎn)Map問題歸納總結(jié)
Java Bean轉(zhuǎn)Map的坑很多,最常見的就是類型丟失和屬性名解析錯誤的問題,下面這篇文章主要給大家介紹了關(guān)于Java中Bean轉(zhuǎn)Map問題歸納總結(jié)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06