CountDownLatch使用場景

2021-08-02 20:05:05 字數 685 閱讀 9672

使用場景:主線程在執行完一系列業務後才會執行最後的操作。

1、學生體能測試,需要全部測試完成後再去處理體能的排名情況。

現有5名學生:

public class bodytest  catch (interruptedexception e) 

system.out.println("學生" + thread.currentthread().getname() + "測試完畢");

latch.countdown();

}, i + "").start();

} try catch (interruptedexception e)

system.out.println("5個學生測試完畢!開始處理結果。。");

}}

2、開啟兩個執行緒,5s後結束執行緒2
public class t44latch  catch (exception e) 

}system.out.println(thread.currentthread().getname() + " end..");

}, "t1").start();

new thread(() ->

try catch (exception e)

}}, "t2").start();

}}

多執行緒 CountDownLatch

countdownlatch 允許乙個或多個執行緒等待其他執行緒完成操作。應用場景 假如有這樣乙個需求,當我們需要解析乙個excel裡多個sheet的資料時,可以考慮使用多執行緒,每個執行緒解析乙個sheet裡的資料,等到所有的sheet都解析完之後,程式需要提示解析完成。在這個需求中,要實現主線程...

執行緒同步 CountDownLatch

應用場景 有乙個任務想要往下執行,但必須要等到其他的任務執行完畢後才可以繼續往下執行。假如我們這個想要繼續往下執行的任務呼叫乙個countdownlatch物件的await 方法,其他的任務執行完自己的任務後呼叫同乙個countdownlatch物件上的countdown 方法,這個呼叫await ...

CountDownLatch 併發測試

countdownlatch,乙個同步輔助類,在完成一組正在其他執行緒中執行的操作之前,它允許乙個或多個執行緒一直等待。主要方法 public countdownlatch int count public voidcountdown public voidawait throws interrup...