文档上只有得到 当前运行的线程数量
我要获得正在运行的,我放进去的runable的实例 怎么得到
API層面應該沒有這種支援. 有一個可能的辦法, 覆寫ThreadPoolExecutor的beforeExecute和afterExecute方法, 可以在task執行前/後去寫log檔, 你的監控進程/線程去輪詢log得到當前在運行的task.
或是你可以用一些執行緒/進程間通訊的 方式(例如socket?), 可以得到更即時的結果.
的確可以覆寫 beforeExecute 和 afterExecute ,然後可以再開一個共享的 ConcurrentHashMap ,beforeExecute 裡面把 Runnable 放進 HashMap,afterExecute 把 Runnable 從 HashMap 刪除。
API層面應該沒有這種支援. 有一個可能的辦法, 覆寫ThreadPoolExecutor的beforeExecute和afterExecute方法, 可以在task執行前/後去寫log檔, 你的監控進程/線程去輪詢log得到當前在運行的task.
或是你可以用一些執行緒/進程間通訊的 方式(例如socket?), 可以得到更即時的結果.
的確可以覆寫 beforeExecute 和 afterExecute ,然後可以再開一個共享的 ConcurrentHashMap ,beforeExecute 裡面把 Runnable 放進 HashMap,afterExecute 把 Runnable 從 HashMap 刪除。