0

我有一个场景,我在固定持续时间重复调度任务。固定延迟是通过调用另一个使用 Thread.sleep(long ms) 方法实现可运行接口的类的 start 方法生成的。但是当我在我的本地电脑上测试这个应用程序时它正在工作。但是当我在具有操作系统(Windows server 2008 R2)的 ibm 刀片服务器(64 位)中运行这个应用程序时,它不能按预期工作。它不出来的睡眠方法。

请提出解决方案?

先感谢您。

4

1 回答 1

0

您的问题中没有太多信息可以查看问题所在。Thread.sleep应该返回或抛出异常。也许正在发生一些不同的事情。例如,发生了异常,被捕获并忘记了,或者您在某个地方出现了死锁。无论如何,不​​同版本的 Java 有时会存在细微的差异,从而导致错误。您必须自己调查问题。

  • 尝试调试应用程序。当它挂起时,按暂停并检查所有线程以找到挂起的线程。
  • 如果无法在服务器上安装调试器,请System.out.println在代码的每个合理位置添加;阅读控制台中的输出,您可能能够找到问题所在。
  • 如果您无法使用控制台启动应用程序,请创建一个文本文件并将消息写入其中。flush每次都不要忘记。
于 2012-11-09T13:14:38.410 回答