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 如何让一个程序运行一段时间后就停止运行的主要内容,如果未能解决你的问题,请参考以下文章

如何让正在运行的线程暂停一段时间

如何在JAVA中每隔一段时间执行一段程序

让 Android 应用程序在后台运行,防止它停止/死亡

js中怎么让程序暂停一段时间

如何让我的 c++ 程序继续运行?

C#编写的WinForm程序,运行一段时间后越来越卡,怎么办?