java - 许多线程等待锁定对象,但没有线程持有该锁

标签 java multithreading

我有一个应用程序目前卡住了,我正在尝试了解原因。 在 kill -3(线程转储)输出中,我看到许多线程在等待锁定一个对象(特别是 - 等待 Vector 的同步方法),但我没有看到任何线程持有该锁。

知道如何调试吗?

谢谢

附言我知道 Vector 很旧,更推荐使用 ArrayList,但这是我正在尝试调试的遗留代码。

最佳答案

您描述的情况听起来像是典型的死锁案例。

您可以(或许应该)使用 Eclipse 或 IntelliJ Idea 等 IDE,通过它们您可以逐步调试您的应用程序并准确了解它停止的位置和要执行的操作。

或者,粘贴一些代码有助于澄清情况并根据 JVM 版本等描述您的环境。

关于java - 许多线程等待锁定对象,但没有线程持有该锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21722845/

相关文章:

java - 如何用不同的方法锁定不同的对象?

java - Weld @Inject ApplicationScope bean 在每个注入(inject)点创建新实例

java - 将文本存储到 String[] 然后将数组存储到 Vector 时出现问题

java - 如何从不同的 JAR 中读取多个同名的资源文件?

java - 有界缓冲区死锁

c++ - 如何区分单个 GPU 中不同主机 CPU 线程的 GPU 线程

java - GSON 无法使用字符串空间解析 JSON

java - Spring-data-cassandra Java8 Stream 支持

c++ - shared mutex 和 mutex 之间的区别(为什么两者都存在于 C++ 11 中)?

ios - 动画还在,当主线程做其他事情时