代码在调试模式下运行正常,但在正常运行时停止(eclipse)

时间:2016-02-11 13:24:55

标签: java eclipse multithreading

我在SO上找到了这个链接:

Code not working when running normally, but working in debug (eclipse)

并且在看到答案时,在我的while循环中添加了Thread.sleep(0)并且它可以正常工作。

问题是"为什么?"。此问题,此问题是否特定于Eclipse

1 个答案:

答案 0 :(得分:4)

它绝对不是特定于Eclipse。这是一个线程问题,可能发生在使用相互依赖的线程的任何程序中。调试会使计时问题消失,因为您实际上是通过减慢所有内容来执行睡眠以执行代码。

如果您多次运行调试而没有停止,您可能会发现您的故障会在一些运行中出现。

使线程休眠使其他线程有时间“赶上”并完成休眠线程正在等待的任何任务。