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線程運行結束");
}
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()等待,直到計數器中的值減為0。await(long timeout, TimeUnit unit)可以自己設置超時時間,一旦超過這個時間,await線程被喚醒,如果返回true,說明計數器為0,否則,不為0。countDown()使得計數器的值減1。getCount()得到當前計數器的值。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
springboot2.6.4集成swagger3.0遇到的坑及解決方法
這篇文章主要介紹了springboot2.6.4如何集成swagger3.0,在集成的過程中遇到很多問題,本文給大家分享四種問題及相應的解決方案,需要的朋友可以參考下2022-03-03
SpringBoot實現對靜態(tài)資源的訪問權限控制的三種方案
在日常的 Spring Boot 開發(fā)中,我們通常會使用安全認證、授權手段來保護后端的 RESTful API,確保只有認證和授權的用戶才能訪問,所以本文就給大家介紹SpringBoot中如何實現對靜態(tài)資源的訪問權限控制,需要的朋友可以參考下2025-09-09
SpringBoot三步將Word轉為PDF的實戰(zhàn)指南
這篇文章主要為大家詳細介紹了SpringBoot如何三步實現將Word轉為PDF的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2025-12-12

