我有支持多个工作流程的java应用程序。使用从命令行传递给它的参数来选择工作流程。在其中一个工作流程应用程序需要运行无限时间。我使用以下代码实现了相同的目标
switch (args[0]) {
case "-runForever":
// Some Computation
Thread.sleep(Long.MAX_VALUE);
break;
case "otherCase:
//dosomething
break;
}
这是实现所需功能的好方法吗?
最佳答案
您可以使用无限循环:
while(true){}
但是,这会无缘无故地消耗 CPU。相反,您可以只调用 wait() 方法:
synchronized{
wait();
}
然后要恢复,您可以从另一个线程调用notify()。
更多信息here .
您也可以启动另一个非守护线程。
关于java - 保持 Java 程序永远运行或长时间运行的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29930239/