我在CachedThreadPool
执行了几项任务。经过一些分析后,我发现任务本身只运行了10%的时间,其他90%由threadpoolexecutor$worker.run
使用(我正在使用jvisualvm
进行分析)。
在这里,我被困住了。我无法弄清楚地狱threadpoolexecutor$worker.run
正在做什么,为什么它耗费了这么多时间来完成它以及如何解决问题。我需要尽快运行任务。
这就是探查者所说的:
pool-2-thread-2 44542 ms (100%)
java.util.concurrent.ThreadPoolExecutor$Worker.run 44542 ms (100%)
Self time 39598 ms (88.9%)
MyClass.run 4943 ms (11.1%)
可能Self time
表示线程正在休眠?
提前致谢。 附:抱歉愚蠢,我不是一个优秀的java程序员。