保持Java程序永远运行或持续很长时间的最佳方法是什么?

时间:2015-04-28 21:27:21

标签: java unix

我有支持多个工作流程的java应用程序。使用从命令行传递给它的参数选择工作流。在其中一个工作流应用程序需要运行无限时间。我使用以下代码

实现了相同的目标
switch (args[0]) { 
    case "-runForever":
     // Some Computation
     Thread.sleep(Long.MAX_VALUE);
     break;
    case "otherCase:
     //dosomething
     break;
}

这是实现所需功能的好方法吗?

2 个答案:

答案 0 :(得分:5)

你可以使用无限循环:

while(true){}

然而,这会毫无理由地耗尽CPU。相反,你可以调用wait()方法:

synchronized{
   wait();
}

然后继续,你从另一个线程调用notify()。

更多信息here

您也可以启动另一个非守护程序线程。

答案 1 :(得分:-1)

如果你想要的只是它永远不会到达目的为什么不

while (1)