java 如何让一个程序运行一段时间后就停止运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何让一个程序运行一段时间后就停止运行相关的知识,希望对你有一定的参考价值。
比如运行30秒后就让一个程序停止希望可以写个实例,我才便于理解。
public static void main(String[] args)System.out.println("程序开始执行");
try
// 延时 30 秒
Thread.sleep(30 * 1000);
catch (InterruptedException e)
e.printStackTrace();
System.out.println("已过30秒,程序结束");
//退出
System.exit(0);
楼上两家的结合起来就实现了 程序运行 等待30秒后结束 参考技术A 开始运行的时候记录一个当前时间
然后执行的时候 每次循环都检测一下当前时间和开始的那个时间的差距 大于30秒就执行System.exit(0); 参考技术B public static void main(String[] args)
System.out.println("程序开始执行");
try
// 延时 30 秒
Thread.sleep(30 * 1000);
catch (InterruptedException e)
e.printStackTrace();
System.out.println("已过30秒,程序结束");
参考技术C 让Java中的一个程序运行一段时间后就停止运行的方法分两种:
1、程序中执行返回或者sleep来让程序停下来。
2、在控制台按ctrl+c来中断程序的运行(通常是针对死循环使用的)。
我们如何让 Java 应用程序永远运行 [关闭]
【中文标题】我们如何让 Java 应用程序永远运行 [关闭]【英文标题】:How can we keep an java application running forever [closed] 【发布时间】:2017-10-26 23:14:33 【问题描述】:我想编写一个 java 应用程序,它应该永远运行。 Webservice 是一种方法,但我不想将它作为 Web 服务运行。 我只想在永远运行的应用程序中运行一些线程,我不想像这样处理任何 webRequest。
你能告诉我还有什么其他的方法吗?
【问题讨论】:
运行它,不要停止它。为什么 Java 应用程序不能永远运行?while (true)
- 我猜不是你想要的
或者如果你更喜欢 for 循环而不是 while 循环 for( ; ; )
不清楚你想达到什么,但也许有帮助:docs.oracle.com/javase/7/docs/api/java/util/concurrent/…
【参考方案1】:
您可以让任何应用程序使用线程(最好通过线程池)永远运行,但您应该非常小心 GC。因此,您可能必须密切关注实例管理、定期堆转储和微调应用程序。希望对您有所帮助!
【讨论】:
【参考方案2】:有一个类的 main 方法如下所示:
final class Forever
private Forever ()
public static void main (String [] args)
while (true)
try
// don't do anything here
// especially do NOT connect to any databases
catch (Throwable t)
将这个 java 代码放在一个运行 Linux 的太空探测器上,具有无限的能源。确保它远离行星、爆炸的恒星、黑洞等。
注意:不要让人类连接到探头。
这可能无法得到你想要的永远;但是,它可能会弥补到宇宙的尽头。
更新:
到目前为止,我已经在我的开发环境中运行了大约 5 10 分钟,它仍在运行!我可能会尽快将此推送给 QA。
【讨论】:
基本上我想在持久队列上运行几个队列侦听器,并且这些侦听器应该永远运行。但是看到GC等问题,上面的方案似乎不太可行。 你错了。不幸的是,给定足够的时间,但距离宇宙终结还有很长的路要走,根据这篇***文章:en.wikipedia.org/wiki/…,探测器最终将通过量子隧穿和引力子发射到铁 56 原子核中衰变。在将事实发布到公共互联网之前,请先弄清楚事实。以上是关于java 如何让一个程序运行一段时间后就停止运行的主要内容,如果未能解决你的问题,请参考以下文章