一個使用執行緒計數器的例子
需求描述:主執行緒掛起,作為守護執行緒。執行緒池裡,每當一個執行緒結束後,計數器減一。當執行緒池裡所有執行緒都結束後,通知主執行緒,使得主執行緒可以繼續。
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class TestCountDownLatch {
public static void main(String[] args) {
final int num = 1000;
//執行緒通訊計數器
CountDownLatch end = new CountDownLatch(num);
//初始化任務執行緒池
ExecutorService exe = Executors.newFixedThreadPool(num);
for (int n=0; n<num; ++n) {
exe.execute(new MyRunable(end, n));
}
try {
end.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class MyRunable implements Runnable {
private CountDownLatch end;
private int id;
public MyRunable(CountDownLatch end, int id) {
this.end = end;
this.id = id;
}
@Override
public void run() {
System.out.println();
System.out.println(String.format("Begin:id=%s;end=%s", id, end.getCount()));
end.countDown();
System.out.println(String.format("End:id=%s;end=%s", id, end.getCount()));
System.out.println();
}
}
相關文章
- 一個SystemC執行緒與SystemVerilog執行緒通訊的例子執行緒
- 多執行緒程式設計基礎(一)-- 執行緒的使用執行緒程式設計
- 教小師妹學多執行緒,一個有深度的例子!執行緒
- 執行緒和執行緒池的理解與java簡單例子執行緒Java單例
- 多執行緒統計多個檔案的單詞數目---C++0x多執行緒使用示例執行緒C++
- Java多執行緒下載的例子。Java執行緒
- 以生活例子說明單執行緒與多執行緒執行緒
- 加入一個執行緒執行緒
- 執行緒的【生命週期】和【執行緒的同步】(多視窗售票例子)執行緒
- 如何查詢一個程式下面的執行緒數(程式和執行緒區別)執行緒
- Linux下多執行緒程式設計與訊號處理易疏忽的一個例子(轉)Linux執行緒程式設計
- 怎樣停止一個正在執行的執行緒執行緒
- 檢視伺服器CPU的個數、CPU的核數、多核超執行緒數伺服器執行緒
- 高併發面試:執行緒池的七大引數?手寫一個執行緒池?面試執行緒
- .net使用Task多執行緒執行任務 .net限制執行緒數量執行緒
- 用「閃電俠」的例子解釋一下程式和執行緒執行緒
- Java執行緒的5個使用技巧Java執行緒
- 多執行緒程式設計基礎(二)-- 執行緒池的使用執行緒程式設計
- 如何使用ReentrantLock的條件變數,讓多個執行緒順序執行?ReentrantLock變數執行緒
- 使用執行緒池優化多執行緒程式設計執行緒優化程式設計
- 執行緒池中的最大執行緒數、核心執行緒數和佇列大小的合理設定執行緒佇列
- Java多執行緒-執行緒池的使用Java執行緒
- 多執行緒 -- 初學簡單例子執行緒單例
- Java多執行緒的wait()和notify()例子Java執行緒AI
- java執行緒程式設計(一):執行緒基礎(轉)Java執行緒程式設計
- 執行緒程式設計(一)執行緒程式設計
- 使用執行緒執行框架的一次經歷執行緒框架
- 看了這個有趣的例子,你就秒懂多執行緒同步了執行緒
- Win32執行緒——等待另一個執行緒結束Win32執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- 多執行緒-執行緒組的概述和使用執行緒
- 多執行緒-執行緒池的概述和使用執行緒
- 執行緒池的建立和使用,執行緒池原始碼初探(篇一)執行緒原始碼
- 一個被寫爛的redux計數小例子Redux
- 利用 C++ 11 特性實現多執行緒計數器C++執行緒
- 【Java面試】如何中斷一個正在執行的執行緒?Java面試執行緒
- 什麼?一個核同時執行兩個執行緒?執行緒
- 畫江湖之 PHP 多執行緒開發 【建立一個新的執行緒】PHP執行緒