国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java CountDownLatch

wyk1184 / 3303人閱讀

摘要:介紹類位于包下,利用它可以實現類似計數器的功能。是通過一個計數器來實現的,計數器的初始值為線程的數量。當計數器值到達時,它表示所有的線程已經完成了任務,然后在閉鎖上等待的線程就可以恢復執行任務。

CountDownLatch 介紹

CountDownLatch 類位于java.util.concurrent包下,利用它可以實現類似計數器的功能。比如有一個任務A,它要等待其他幾個任務執行完畢之后才能執行,此時就可以利用CountDownLatch來實現這種功能了。CountDownLatch是通過一個計數器來實現的,計數器的初始值為線程的數量。每當一個線程完成了自己的任務后,計數器的值就會減1。當計數器值到達0時,它表示所有的線程已經完成了任務,然后在閉鎖上等待的線程就可以恢復執行任務。

定義兩個線程

線程1

public class Thread1 extends Thread {
    private CountDownLatch countDownLatch;
    public Thread1(CountDownLatch countDownLatch) {
        this.countDownLatch = countDownLatch;
    }

    @Override
    public void run() {
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("thread-1");
        countDownLatch.countDown();
    }
}

線程2

public class Thread2 extends Thread {
    private CountDownLatch countDownLatch;

    public Thread2(CountDownLatch countDownLatch) {
        this.countDownLatch = countDownLatch;
    }

    @Override
    public void run() {
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("thread-2");
        countDownLatch.countDown();
    }
}
請求
@RequestMapping("test-countdownlatch")
    public void testCountDownLatch() {
        CountDownLatch countDownLatch = new CountDownLatch(2);
        Thread1 thread1 = new Thread1(countDownLatch);
        Thread2 thread2 = new Thread2(countDownLatch);
        thread1.start();
        thread2.start();
        try {
            countDownLatch.await();
            System.out.println("main...");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
結果

"main..."總是等待兩個線程完成后打印

CountDownLatch代碼

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74711.html

相關文章

  • Java多線程同步工具箱之CountDownLatch

    摘要:多線程同步工具箱之篇前言的多線程協調工具,,,都是在多線程代碼中使用比較多的工具類之一。毫不夸張的說,這幾個類,是等同于解決多線程問的包,實在有必要添加到程序員的工具箱里面。 Java多線程同步工具箱之CountDownLatch篇 前言 Java的多線程協調工具CountDownLatch,Semaphore,CyclicBarrier,ReadWriteLock都是在多線程代碼中使...

    lufficc 評論0 收藏0
  • JAVA并發編程之 - CountDownLatch使用場景分析

    摘要:今天我們來聊一聊的使用場景。使用場景在某些業務情況下,要求我們等某個條件或者任務完成后才可以繼續處理后續任務。同時在線程完成時也會觸發一定事件。方便業務繼續向下執行。第個毒販如果當前已經沒有可以毒販,立刻返回被干掉了干掉一個。 作者 : 畢來生微信: 878799579 前言 ? 在 java.util.concurrent 包中提供了多種并發容器類來改進同步容器 的性能。今天...

    yy736044583 評論0 收藏0
  • 長文慎入-探索Java并發編程與高并發解決方案

    摘要:所有示例代碼請見下載于基本概念并發同時擁有兩個或者多個線程,如果程序在單核處理器上運行多個線程將交替地換入或者換出內存這些線程是同時存在的,每個線程都處于執行過程中的某個狀態,如果運行在多核處理器上此時,程序中的每個線程都 所有示例代碼,請見/下載于 https://github.com/Wasabi1234... showImg(https://upload-images.jians...

    SimpleTriangle 評論0 收藏0
  • Java多線程進階(十八)—— J.U.C之synchronizer框架:CountDownLatc

    摘要:線程可以調用的方法進入阻塞,當計數值降到時,所有之前調用阻塞的線程都會釋放。注意的初始計數值一旦降到,無法重置。 showImg(https://segmentfault.com/img/remote/1460000016012041); 本文首發于一世流云的專欄:https://segmentfault.com/blog... 一、CountDownLatch簡介 CountDow...

    Elle 評論0 收藏0
  • Java多線程打輔助的三個小伙子

    摘要:前言之前學多線程的時候沒有學習線程的同步工具類輔助類。而其它線程完成自己的操作后,調用使計數器減。信號量控制一組線程同時執行。 前言 之前學多線程的時候沒有學習線程的同步工具類(輔助類)。ps:當時覺得暫時用不上,認為是挺高深的知識點就沒去管了.. 在前幾天,朋友發了一篇比較好的Semaphore文章過來,然后在瀏覽博客的時候又發現面試還會考,那還是挺重要的知識點。于是花了點時間去了解...

    pingink 評論0 收藏0

發表評論

0條評論

wyk1184

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<