天天看點

countdownlatch應用場景

為了模拟高并發,讓一組線程在指定時刻(秒殺時間)執行搶購,這些線程在準備就緒後,進行等待(CountDownLatch.await()),直到秒殺時刻的到來,然後一擁而上;

這也是本地測試接口并發的一個簡易實作。

在這個場景中,CountDownLatch充當的是一個​<code>​發令槍​</code>​的角色;

就像田徑賽跑時,運動員會在起跑線做準備動作,等到發令槍一聲響,運動員就會奮力奔跑。和上面的秒殺場景類似,代碼實作如下:

很多時候,我們的并發任務,存在前後依賴關系;比如資料詳情頁需要同時調用多個接口擷取資料,并發請求擷取到資料後、需要進行結果合并;或者多個資料操作完成後,需要資料check;

這其實都是:在多個線程(任務)完成後,進行彙總合并的場景。

有追求,才有動力!

向每一個軟體工程師緻敬!

by wujf