countdownlatch 就是把執行緒關起來,不許出來,得先幹完活。
countdownlatch 計數器門閂
/** * countdownlatch 計數器門閂
* 該任務是如果完成了5個任務,那麼才去執行發工資的事情
* *@author beiyaoyao
*/public
class
countdownlatchdemo
implements
runnable catch (interruptedexception e)
}public
static
void
main(string args) throws interruptedexception
//等待檢查是否完成
countdownlatch.await();
//執行
system.out.println("run");
exec.shutdown();
}}
輸出結果
10 thread misson complete
9 thread misson complete
8 thread misson complete
11 thread misson complete
12 thread misson complete
run如果我們對執行緒不加以處理
public
class
countdownlatchdemono
implements
runnable
public
static
void
main(string args) throws interruptedexception
//執行
system.out.println("run");
exec.shutdown();
}}
執行結果
8 thread misson complete
10 thread misson complete
9 thread misson complete
11 thread misson complete
run
12 thread misson complete
run的輸出有可能會在任何乙個任務執行完或者沒有執行任何乙個任務的時候執行。
多執行緒 CountDownLatch
countdownlatch 允許乙個或多個執行緒等待其他執行緒完成操作。應用場景 假如有這樣乙個需求,當我們需要解析乙個excel裡多個sheet的資料時,可以考慮使用多執行緒,每個執行緒解析乙個sheet裡的資料,等到所有的sheet都解析完之後,程式需要提示解析完成。在這個需求中,要實現主線程...
執行緒同步 CountDownLatch
應用場景 有乙個任務想要往下執行,但必須要等到其他的任務執行完畢後才可以繼續往下執行。假如我們這個想要繼續往下執行的任務呼叫乙個countdownlatch物件的await 方法,其他的任務執行完自己的任務後呼叫同乙個countdownlatch物件上的countdown 方法,這個呼叫await ...
CountDownLatch 併發測試
countdownlatch,乙個同步輔助類,在完成一組正在其他執行緒中執行的操作之前,它允許乙個或多個執行緒一直等待。主要方法 public countdownlatch int count public voidcountdown public voidawait throws interrup...