我在SO上发现了这个链接: 正常运行时代码不起作用,但在调试(eclipse)中起作用 看到答案后,在我的while循环中添加了Thread.sleep(0)并且它起作用了。问题是“为什么?”。此外,这个问题是否特定于Eclipse?
它绝对不仅适用于Eclipse。这是一个线程问题,任何使用相互依赖的线程的程序都可能出现此问题。调试可以解决时间问题,因为你实际上通过减慢代码运行来执行睡眠操作。如果连续多次运行调试而没有停止,你可能会发现故障会在某些运行中出现。使一个线程睡眠可以给其他线程时间“追赶”,并完成等待正在睡眠的线程的任务。
Thread.sleep(0)
是什么意思吗? - TheLostMind