一、CountDownLatch介紹
? ??????CountDownLatch是一個并發工具類,?作用是允許一個或多個線程等待其他線程完成操作。我們有時會稱之為發令槍。有一個個形象的例子能說明其功能:公司召開一個全體股東會,需要所有股東到場了才能正式開始。會議室準備了一個花名冊,記錄了需要到會的總人數,每一個股東來到會議室就要簽名確認,同時總人數減一,當需要到會的總人數為0時,會議就正式開始。所以,CountDownLatch就有充當計數器和發令槍的功能。
二、模擬并發請求
? ? ? ? 通過CountDownLatch的計數和發令功能,我們可以通過它模擬并發請求的功能,常常能用于測試。下面的代碼時一個模擬并發請求的示例:
? ? 1、concurrentCount定義并發請求數量;
????2、countDownLatch.await()處會一直阻塞當前進程,計數器的值為0;
? ? 3、countDownLatch.countDown()每執行一次,計數器數值減一,當值為0時,阻塞的線程會一起執行。
? ? 上述例子希望能給大家帶來小小的啟發。