首页 > 后端开发 > 正文

java 多线程如何让程序运行一定时间后停止

2024-06-24 08:45:45 | 我爱编程网

最近经常有小伙伴私信询问java 多线程如何让程序运行一定时间后停止相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

java 多线程如何让程序运行一定时间后停止

java 多线程如何让程序运行一定时间后停止

你说的应该不是sleep吧。呵呵,

这么简单的话,就没必要在这里问了。

我猜测呢,你是要在多线程计时任务

Task线程里面有个while循环?

那么你需要一个TimerTask 来控制这个线程,也就是计时线程。

那么这个计时线程,有两种方法~

第一种,比较不讲究的方法,也就是,对结果处理不好的方式,类似于过时方法的stop,就是把你的Task线程在TimerTask里面启动。

TimerTask里面类似于

while(true){

Task.start();

Date date = new Date();

while(true){

计算时间差,如果时间差大于超时时间,则break

而在Task线程中,需要加上一行代码

this.setDeamon(true);

将这个task任务设置成后台线程。

因为是TimerTask启动的这个后台任务线程, 一旦超时,那么,这个后台线程Task将会被强制shutdown 。

这种方式适用于不怎么严格的线程要求。

还有一种呢,就是比较严格,对后台处理要求很高的那种。

就是两个线程中需要有共享的变量,将结果,运行状态,都要共享,当TimerTask发现超时的时候,会判断Task线程的处理结果。以及运行状态,而做出相应的处理。

你问的问题比较宽泛。所以,我只能大致的把思路给介绍一下。

如果,能牵扯到实际的问题,那样就容易判断用那种方式的线程超时机制比较好了。呵呵

最后,节日愉快~~

java 多线程如何让程序运行一定时间后停止

java中终止程序的执行

方案操作如下:

(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。

(2)退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况!!!!

要退出Java程序,可以使用destory()退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。

只有在程序非正常退出时,才使用exit方法退出程序

java 多线程如何让程序运行一定时间后停止

java 如何让一个程序运行一段时间后就停止运行

public static void main(String[] args) {

long begain = System.currentTimeMillis();//开始系统时间

try {

Thread.sleep(100);

} catch (Exception e) {

e.printStackTrace();

}我爱编程网

long CheckTime = System.currentTimeMillis(); //判断时间

while(true){

System.out.println(CheckTime-begain);

try {

Thread.sleep(1000);

} catch (Exception e) {

e.printStackTrace();

}

CheckTime = System.currentTimeMillis();

if((CheckTime-begain)>=(30*1000)){//判断时候到30秒

System.out.println("30秒后结束");

break;

}

}

}

给你的答案希望你能满意

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“java 多线程如何让程序运行一定时间后停止”相关推荐