我们正在使用相当多的 ExecutorServices 运行服务。
当使用 jProfiler 7.1 (sampling, Runnable) 分析服务时,我们可以看到 sun.misc.Unsafe.park + unpark 是当前在热点中使用大部分 CPU 时间的调用。
http://i.stack.imgur.com/wT2Cj.jpg
这令人费解。
Park 和 unpark 应该是阻塞的,因此不使用任何 CPU 周期(或至少少量)。这是来自 jprofiler 的某种错误(即没有检测到它,因为它在 sun.misc 包中?)还是我们在使用 ExecutorService 框架时实际上有问题?