gpt4 book ai didi

java - 如何查看线程正在等待哪个监视器?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:54 27 4
gpt4 key购买 nike


我正在使用 netbeans 和它的分析器来查看线程 Activity 。图表显示,当有多个工作线程在执行时,线程可以保持多种状态:运行、等待、监视。
我编写了我的 Java 应用程序,以便它的工作线程应该只使用只读变量而不需要同步。
但是,在执行 netbeans profiler 时,我可以看到我的线程经常处于监控状态。我想他们正在等待显示器解锁,但我可以想象哪个显示器。

所以,我的问题是:有没有办法了解线程正在等待什么监视器?

谢谢

最佳答案

首先尝试在等待监视器发生时进行线程转储。有多种方法可以做到这一点,包括 jstackjvisualvmkill -3。 Netbeans 也可能能够为其执行的应用程序执行此操作。

将线程转储文件导入 tda .虽然您仅通过在纯文本编辑器中阅读文件就会发现很多,但这个简单的应用程序可以对线程和监视器进行分组,允许您浏览线程,包括超链接等。看起来很晦涩,但效果很好。

如果您在阅读堆栈跟踪时遇到困难(这对 Java 开发人员来说是一项非常重要的技能),请在此处发布一个等待线程。

关于java - 如何查看线程正在等待哪个监视器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338357/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com