java - ThreadPoolExecutor 得到正在运行的Thread实例
巴扎黑
巴扎黑 2017-04-17 11:32:44
0
2
786

文档上只有得到 当前运行的线程数量

我要获得正在运行的,我放进去的runable的实例 怎么得到

巴扎黑
巴扎黑

全部回覆(2)
迷茫

API層面應該沒有這種支援. 有一個可能的辦法, 覆寫ThreadPoolExecutor的beforeExecute和afterExecute方法, 可以在task執行前/後去寫log檔, 你的監控進程/線程去輪詢log得到當前在運行的task.

或是你可以用一些執行緒/進程間通訊的 方式(例如socket?), 可以得到更即時的結果.

巴扎黑

的確可以覆寫 beforeExecute 和 afterExecute ,然後可以再開一個共享的 ConcurrentHashMap ,beforeExecute 裡面把 Runnable 放進 HashMap,afterExecute 把 Runnable 從 HashMap 刪除。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板