【问题标题】:Code running fine in debug mode, but stops when run normally (eclipse)代码在调试模式下运行良好,但在正常运行时停止(eclipse)
【发布时间】:2016-02-11 13:24:55
【问题描述】:

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

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

看到答案后,在我的 while 循环中添加了一个 Thread.sleep(0),它可以工作。

问题是“为什么?”。另外,这个问题是Eclipse特有的吗?

【问题讨论】:

  • 你知道Thread.sleep(0)是什么意思吗?
  • 把代码贴出来让我们“调试”
  • 原因现在我很清楚了,感谢 TheLostMind 的提示 :) 和 @JamesJithin,当我添加 sleep() 时它运行良好。所以,我的代码对我来说不是问题。

标签: java eclipse multithreading


【解决方案1】:

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

如果您多次运行调试而没有停止,您可能会发现您的失败出现在几次运行中。

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

【讨论】:

  • 为我节省了两个小时搜索我的代码有什么问题的时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 2019-05-12
  • 2019-06-19
相关资源
最近更新 更多