gpt4 book ai didi

java - 只要守护线程运行,如何让我的程序保持 Activity 状态?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:22 25 4
gpt4 key购买 nike

我有一个要求,我想启动一个轮询器,该轮询器将永远运行直到机器重新启动或进程被终止。现在,我尝试使用 shell 脚本从 main 方法启动轮询器,但问题是一旦 main 方法完成执行,轮询器也停止工作,因为我没有使用任何服务器来实现。

我听说过一些关于守护线程的事情,但我想知道如何创建一个守护线程,它将永远运行,并帮助我的轮询器也运行。

更新:

public class SomeThread extends Thread {

@Override
public void run() {
UnitPoller unitPoller = new UnitPoller();
unitPoller.doPolling();
}

public static void main(String[] args) {
SomeThread someThread = new SomeThread();
someThread.setDaemon(true);
someThread.start();
}
}

上面是我更新的类,现在每当我从 main 方法执行这个线程时,它都会创建一个线程,但是一旦 main 方法执行完成,我的轮询器就会停止工作,因为 JVM 会关闭。

遇到这个问题,我该怎么办。

谢谢

最佳答案

您只需创建一个线程并在调用 th.start() 之前调用 th.setDaemon(true)

编辑:

上面回答了“如何创建守护线程”的问题,但是(随着问题范围的改变),正确的答案是:不要创建守护线程如果您希望您的线程在主线程完成后阻止 JVM 退出。

关于java - 只要守护线程运行,如何让我的程序保持 Activity 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com