Java多線程并發(fā)JUC包CountDownLatch閉鎖的實例
更新時間:2025年05月16日 10:42:16 作者:二六八
這篇文章主要介紹了Java多線程并發(fā)JUC包CountDownLatch閉鎖的實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Java多線程并發(fā)JUC包 CountDownLatch 閉鎖
閉鎖是一次性對象
一旦進(jìn)入終止?fàn)顟B(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線程運(yùn)行結(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在運(yùn)行\(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()得到當(dāng)前計數(shù)器的值。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot2.6.4集成swagger3.0遇到的坑及解決方法
這篇文章主要介紹了springboot2.6.4如何集成swagger3.0,在集成的過程中遇到很多問題,本文給大家分享四種問題及相應(yīng)的解決方案,需要的朋友可以參考下2022-03-03
SpringBoot整合Shiro實現(xiàn)權(quán)限控制的代碼實現(xiàn)
Apache Shiro是一個強(qiáng)大且易用的Java安全框架,執(zhí)行身份驗證、授權(quán)、密碼和會話管理,今天通過本文給大家介紹SpringBoot整合Shiro實現(xiàn)權(quán)限控制的方法,感興趣的朋友一起看看吧2021-07-07
SpringBoot實現(xiàn)對靜態(tài)資源的訪問權(quán)限控制的三種方案
在日常的 Spring Boot 開發(fā)中,我們通常會使用安全認(rèn)證、授權(quán)手段來保護(hù)后端的 RESTful API,確保只有認(rèn)證和授權(quán)的用戶才能訪問,所以本文就給大家介紹SpringBoot中如何實現(xiàn)對靜態(tài)資源的訪問權(quán)限控制,需要的朋友可以參考下2025-09-09
SpringBoot三步將Word轉(zhuǎn)為PDF的實戰(zhàn)指南
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何三步實現(xiàn)將Word轉(zhuǎn)為PDF的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-12-12

