Amm*_*mmu 15 java multithreading
这是在接受采访时向我的一位朋友提出的问题.
你怎么知道一个线程是否在同步方法中被阻塞,来自另一个线程?
任何人都可以用一个例子解释一下吗?
Rob*_*rop 20
使用Thread.getState():
Thread.State state = getThreadInQuestion().getState();
if(state == Thread.State.BLOCKED) {
System.out.println("Blocked");
} else {
System.out.println("Not blocked");
}
Run Code Online (Sandbox Code Playgroud)
在VM之外,您可以使用该jstack工具获取每个线程的完整线程信息,或者连接到JMX并探索Thread MBean.
| 归档时间: |
|
| 查看次数: |
6603 次 |
| 最近记录: |