gpt4 book ai didi

java - 一个 Java 线程如何检查另一个线程的状态,例如另一个是否被阻止?

转载 作者:太空狗 更新时间:2023-10-29 22:53:49 24 4
gpt4 key购买 nike

这是我的一位 friend 在面试中被问到的问题。

How do you know whether a thread is blocked inside a synchronized method, from another thread?

有人可以用例子解释一下吗?

最佳答案

使用Thread.getState():

Thread.State state = getThreadInQuestion().getState();
if(state == Thread.State.BLOCKED) {
System.out.println("Blocked");
} else {
System.out.println("Not blocked");
}

在 VM 之外,您可以使用 jstack 工具获取每个线程的完整线程信息,或者连接到 JMX 并探索 Thread MBean。

关于java - 一个 Java 线程如何检查另一个线程的状态,例如另一个是否被阻止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6451121/

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