【问题标题】:Is working of "Thread.sleep(30000)" same on Windows and Linux?“Thread.sleep(30000)”在 Windows 和 Linux 上的工作是否相同?
【发布时间】:2013-02-26 07:08:02
【问题描述】:

我怀疑“Thread.sleep()”在 Windows 和 Linux 上的工作方式是否相同?

现在我正在开发一个企业应用程序,我正在使用 spring mvc 框架。现在的问题是,我的一个函数中有这一行“Thread.sleep(30000)”。这里的值“30000”表示睡眠“30 秒”,它在我的本地系统(Windows 操作系统)上运行良好。当我在 Linux 服务器上部署我的应用程序时,我怀疑“Thread.sleep(30000)”没有按预期工作。

【问题讨论】:

  • 我关心的是值“30000”。 Google 上的一些帖子说 30000=30 秒(在 Windows 上)和 30=30 秒(在 Linux 上)。
  • 查看权威文档即可。忘记谷歌搜索时会发现的所有 BS。
  • 是的,在 Windows 和 Linux 上都是一样的。可能是您的应用程序中的其他原因导致了这种意外行为。
  • 尽量避免使用 Thread.Sleep,你应该改用定时器/调度器...

标签: linux windows multithreading jakarta-ee spring-mvc


【解决方案1】:

如果您的服务器在 Linux 下运行,您可能会遇到 Leap Second 错误

看这里Leap Second bug

【讨论】:

  • 我关心的是值“30000”。 Google 上的一些帖子说 30000=30 秒(在 Windows 上)和 30=30 秒(在 Linux 上)。
猜你喜欢
  • 2014-03-21
  • 1970-01-01
  • 2011-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 2018-07-21
相关资源
最近更新 更多