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

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

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

巴扎黑
巴扎黑

Antworte allen(2)
迷茫

API层面应该没有这种支持. 有一个可能的办法, 覆写ThreadPoolExecutor的beforeExecute和afterExecute方法, 可以在 task执行前/后 去写log文件, 你的监测进程/线程去 轮询log得到当前在运行的task.

或者你可以用一些线程/进程间通讯的 方式(比如socket?), 可以得到更实时的结果.

巴扎黑

的确可以覆盖 beforeExecute 和 afterExecute ,然后可以再开一个共享的 ConcurrentHashMap ,beforeExecute 里面把 Runnable 放进 HashMap,afterExecute 把 Runnable 从 HashMap 删除。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!