我有一个性能问题(在使用并行集合和期货的复杂 Scala 代码中)。我已经使用 JFR 检查了更多细节,我可以看到问题表现为一个线程在等待监视器对象(线程似乎java.util.concurrent.ForkJoinTask#internalWait
通过调用 的wait
方法等待ForkJoinTask
)。我想知道哪个线程持有这个监视器对象(以及从哪个函数/调用堆栈输入了监视器)。JFR 向我显示了某种监视器地址,但我没有找到按此地址搜索/过滤的方法。
JMC中是否有一些视图,插件或其他方式如何检查谁以及何时锁定和释放给定的监视器?