4

可能重复:
Eclipse 调试器总是阻塞在 ThreadPoolExecutor 上,没有任何明显的异常,为什么?

Eclipse 在 finally 块中的以下行中不断暂停 run() 方法中的执行:workDone(this);

我没有在这里设置任何断点,我的应用程序似乎按预期工作。

关于为什么会发生这种情况的任何指示?

   java.util.concurrent.ThreadPoolExecutor

   public void run() {
        try {
            Runnable task = firstTask;
            firstTask = null;
            while (task != null || (task = getTask()) != null) {
                runTask(task);
                task = null;
            }
        } finally {
            workerDone(this);
        }
    }
}
4

1 回答 1

3

您的方法调用很可能workerDone会引发异常,该异常未处理并在run方法之外冒泡。线程因此突然结束,但 Eclipse 允许您在异常逃逸方法之前检查这种情况。那是一个自动的“异常断点”。

于 2012-08-01T16:31:42.260 回答