Java實現(xiàn)監(jiān)控多個線程狀態(tài)的簡單實例
更新時間:2017年03月04日 08:54:24 投稿:jingxian
下面小編就為大家?guī)硪黄狫ava實現(xiàn)監(jiān)控多個線程狀態(tài)的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
實例如下:
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
/**
* 測試監(jiān)控類
*
* @author
*
*/
public class WatchThread {
/**
* 測試函數(shù)
*
* @throws InterruptedException
*/
public void testThread() throws InterruptedException {
int threadNum = 10;
// 初始化countDown
CountDownLatch threadSignal = new CountDownLatch(threadNum);
// 創(chuàng)建固定長度的線程池
Executor executor = Executors.newFixedThreadPool(threadNum);
for (int i = 0; i < threadNum; i++) { // 開threadNum個線程
Runnable task = new TestThread(threadSignal);
// 執(zhí)行
executor.execute(task);
}
threadSignal.await(); // 等待所有子線程執(zhí)行完
// do work
System.out.println(Thread.currentThread().getName() + "+++++++結(jié)束.");
}
/**
* 測試函數(shù)
*/
public static void main(String[] args) throws InterruptedException {
WatchThread test = new WatchThread();
test.testThread();
}
/**
*
* @author jill
*
*/
private class TestThread implements Runnable {
private CountDownLatch threadsSignal;
public TestThread(CountDownLatch threadsSignal) {
this.threadsSignal = threadsSignal;
}
public void run() {
System.out.println(Thread.currentThread().getName() + "開始...");
// do shomething
System.out.println("開始了線程::::" + threadsSignal.getCount());
// 線程結(jié)束時計數(shù)器減1
threadsSignal.countDown(); //這句代碼 建議放在 finally里執(zhí)行
System.out.println(Thread.currentThread().getName() + "結(jié)束. 還有"
+ threadsSignal.getCount() + " 個線程");
}
}
}
以上這篇Java實現(xiàn)監(jiān)控多個線程狀態(tài)的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot+Redission實現(xiàn)排行榜功能的示例代碼
這篇文章主要介紹了基于SpringBoot+Redission實現(xiàn)排行榜功能,實現(xiàn)一個排行榜,要求按照分數(shù)和達成這個分數(shù)的時間排序,即相同分數(shù)下,時間早的在上面,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2024-05-05
SpringBoot實現(xiàn)JPA多數(shù)據(jù)源配置小結(jié)
本文主要介紹了SpringBoot實現(xiàn)JPA多數(shù)據(jù)源配置小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-01-01
Java Web監(jiān)聽器Listener接口原理及用法實例
這篇文章主要介紹了Java Web監(jiān)聽器Listener接口原理及用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
javax.validation.constraints如何校驗參數(shù)合法性
本文將深入探討javax.validation.constraints的基本用法和高級應用,幫助讀者更好地理解和運用這個強大的校驗框架,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07

