【问题标题】:How can I know the lock information in java?我如何知道java中的锁信息?
【发布时间】:2015-09-08 13:02:20
【问题描述】:

有没有什么工具或者方法可以获取java中关于锁的所有信息?

例如,如果有一个 java 程序,它会创建两个线程,并且两个线程都需要对某个变量进行锁定。有没有工具可以输出哪个线程锁哪个变量等信息?

【问题讨论】:

标签: java multithreading locking


【解决方案1】:

您可以通过 ThreadMXBean 使用 ThreadInfo#getLockedSynchronizers() (JavaDoc) 来获取线程上当前拥有锁的 LockInfo 数组。 LockInfo 只会告诉你一个锁的类名和身份哈希码,但这对于跟踪锁对象来说已经足够了。

【讨论】:

  • 谢谢!但是我想要的是通过使用另一个程序B来获取程序A的线程信息。就像程序A有两个线程一样,我想编写另一个可以知道程序A中线程信息的程序。
  • 这正是你可以用 JMX 做的。查看其他有关如何操作的问题;例如,stackoverflow.com/q/5552960/432259
猜你喜欢
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 2023-03-27
相关资源
最近更新 更多