繁忙的期望 java

我有一项任务流,我不能让流动转到期望的状态。
如何找出流量是否处于阻塞状态或时等待? 是否有一个检查它的团队?

在我的程序中 2 矩阵,我需要转换它们。 所以,我有转换流,代码如下所示:


transformThread transformThreadFirst = new transformThread/firstMat, n/;
transformThread transformThreadSecond = new transformThread/secondMat, n/;

transformThreadFirst.start//;
transformThreadSecond.start//;

try
{
transformThreadFirst.join//;
transformThreadSecond.join//;
}
catch/InterruptedException e/
{
}


任何流动都会忙着等待还是右转? 或者你有更好的解决方案吗?
另外,在奔跑中 transformThread 我不使用任何退出 2 对于周期和一切,只是转换的行动..
已邀请:

小明明

赞同来自:

http://en.wikipedia.org/wiki/Busy_waiting
- 这是一次重新执行,直到另一个操作完成。 类似的东西:


// The next line will be called many many times
// before the other thread finishes
while /otherThread.getState// == Thread.State.RUNNABLE/ {}


所以你的代码

不是

忙着等待,当前线程将被阻止直到 transformThreadFirst 将无法完成,然后挡住直到 transformThreadSecond 将无法完成。

冰洋

赞同来自:

有一个效用 jstack.
用它
jstack <pid>

, 通过传递运行过程的标识符 jvm.
它将显示该应用程序中的每个线程以及流状态 /RUNNING, WAITING, BLOCKED/.

它完整​​了 JDK 并在他的 bin/
</pid>

要回复问题请先登录注册