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

标签 java unix

我有支持多个工作流程的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/

相关文章:

angularjs - 基于 Unix 文本的浏览器,支持 javascript

java - 如何从 Lucene TokenStream 中获取 Token?

c - 使用 rio_readlineb 读取图像,但不起作用

python - 有没有简单的方法来对 Python 脚本进行基准测试?

java - 什么是好的免费游戏引擎?

c - 原始套接字不发送

unix - 可以将多个bz2存档合并为一个吗?

java - 启动时重试连接到 Cassandra 节点

java - 为什么Java除以0.0时不抛出异常?

java - 创建文件架构的最小 mkdir 数量