最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中多線程同步類 CountDownLatch

 更新時間:2017年05月02日 10:22:07   作者:行者無疆-ITer  
本篇文章主要介紹了Java中多線程同步類 CountDownLatch的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧

在多線程開發(fā)中,常常遇到希望一組線程完成之后在執(zhí)行之后的操作,java提供了一個多線程同步輔助類,可以完成此類需求:

類中常見的方法:

其中構(gòu)造方法:

CountDownLatch(int count) 參數(shù)count是計(jì)數(shù)器,一般用要執(zhí)行線程的數(shù)量來賦值。

long getCount():獲得當(dāng)前計(jì)數(shù)器的值。

void countDown():當(dāng)計(jì)數(shù)器的值大于零時,調(diào)用方法,計(jì)數(shù)器的數(shù)值減少1,當(dāng)計(jì)數(shù)器等數(shù)零時,釋放所有的線程。

void await():調(diào)所該方法阻塞當(dāng)前主線程,直到計(jì)數(shù)器減少為零。

代碼例子:

線程類:

import java.util.concurrent.CountDownLatch;
public class TestThread extends Thread{
CountDownLatch cd;
String threadName;
public TestThread(CountDownLatch cd,String threadName){
 this.cd=cd;
 this.threadName=threadName;

}
@Override
public void run() {
 System.out.println(threadName+" start working...");
 dowork();
 System.out.println(threadName+" end working and exit...");
 cd.countDown();//告訴同步類完成一個線程操作完成

}
private void dowork(){
 try {
 Thread.sleep(2000);
 System.out.println(threadName+" is working...");
 } catch (InterruptedException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }

}

}

測試類:

import java.util.concurrent.CountDownLatch;
public class TsetCountDownLatch {

 public static void main(String[] args) {
 try {
  CountDownLatch cd = new CountDownLatch(3);// 表示一共有三個線程
  TestThread thread1 = new TestThread(cd, "thread1");
  TestThread thread2 = new TestThread(cd, "thread2");
  TestThread thread3 = new TestThread(cd, "thread3");
  thread1.start();
  thread2.start();
  thread3.start();
  cd.await();//等待所有線程完成
  System.out.println("All Thread finishd");
 } catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 }
}

輸出結(jié)果:

 thread1 start working...
 thread2 start working...
 thread3 start working...
 thread2 is working...
 thread2 end working and exit...
 thread1 is working...
 thread3 is working...
 thread3 end working and exit...
 thread1 end working and exit...
 All Thread finishd

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Java用自帶的Image IO給圖片添加水印

    Java用自帶的Image IO給圖片添加水印

    本文主要介紹了如何采用Java自帶的Image IO實(shí)現(xiàn)圖片添加水印的需求,并整合了一些其他功能,感興趣的朋友可以參考下
    2021-06-06
  • SpringBoot獲取配置文件的簡單實(shí)現(xiàn)方法

    SpringBoot獲取配置文件的簡單實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于SpringBoot如何獲取配置文件的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • controller層如何同時接收兩個實(shí)體類

    controller層如何同時接收兩個實(shí)體類

    這篇文章主要介紹了controller層如何同時接收兩個實(shí)體類問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 關(guān)于解決iReport4.1.1無法正常啟動或者閃退或者JDK8不兼容的問題

    關(guān)于解決iReport4.1.1無法正常啟動或者閃退或者JDK8不兼容的問題

    在安裝使用iReport的過程中遇到一個問題,我的iReport始終不能打開,困擾了我好久。接下來通過本文給大家介紹iReport4.1.1無法正常啟動或者閃退或者JDK8不兼容的問題,需要的朋友可以參考下
    2018-09-09
  • Java 數(shù)組差集實(shí)例代碼

    Java 數(shù)組差集實(shí)例代碼

    這篇文章主要介紹了Java 數(shù)組差集實(shí)例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • SpringBoot中controller深層詳細(xì)講解

    SpringBoot中controller深層詳細(xì)講解

    這篇文章主要介紹了SpringBoot在Controller層接收參數(shù)的常用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 淺談讓@Value更方便的Spring自定義轉(zhuǎn)換類

    淺談讓@Value更方便的Spring自定義轉(zhuǎn)換類

    Spring為大家內(nèi)置了不少開箱即用的轉(zhuǎn)換類,如字符串轉(zhuǎn)數(shù)字、字符串轉(zhuǎn)時間等,但有時候需要使用自定義的屬性,則需要自定義轉(zhuǎn)換類了
    2021-06-06
  • Java線程的相關(guān)方法詳細(xì)解析

    Java線程的相關(guān)方法詳細(xì)解析

    以下是對Java線程的相關(guān)方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-09-09
  • 如何基于Autowired對構(gòu)造函數(shù)進(jìn)行注釋

    如何基于Autowired對構(gòu)造函數(shù)進(jìn)行注釋

    這篇文章主要介紹了如何基于Autowired對構(gòu)造函數(shù)進(jìn)行注釋,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • springboot如何忽略接收請求中的參數(shù)

    springboot如何忽略接收請求中的參數(shù)

    這篇文章主要介紹了springboot如何忽略接收請求中的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

托里县| 巍山| 宁化县| 尼木县| 抚顺县| 乌审旗| 三门县| 太湖县| 新乡县| 方城县| 华容县| 湘阴县| 宁安市| 辛集市| 靖边县| 资中县| 崇仁县| 唐山市| 岐山县| 内黄县| 鄂托克前旗| 甘谷县| 金乡县| 阳原县| 沙坪坝区| 三门峡市| 土默特左旗| 务川| 聊城市| 鄂尔多斯市| 渭南市| 桐城市| 安多县| 扎鲁特旗| 夹江县| 望都县| 隆回县| 类乌齐县| 安溪县| 肥城市| 平南县|