我需要在一定的时间间隔内执行一个线程。我在java程序中使用timerTask方法。
public class StudentDTO extends TimerTask{
@Override
public void run(){
System.out.println("hi");
}
public static void main(String[] args){
StudentDTO t1=new StudentDTO();
Timer timer = new Timer(true);
timer.scheduleAtFixedRate(t1, 0, 10000);
System.out.println("start");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}}
当我执行这段代码时,我得到的答案如下
开始嗨
程序就会被终止。我必须在每10个sec.Please上运行一个线程,建议我一个解决方案。
发布于 2018-11-15 05:07:03
当唯一运行的线程都是守护进程线程时,Java虚拟机就会退出。
所以改变到
Timer timer = new Timer();这将创建一个用户线程
发布于 2018-11-15 05:06:13
将new Timer(true)更改为new Timer(),否则是守护进程线程,当main退出时应用程序就会死
发布于 2018-11-15 05:11:35
有两种方法可以让你的程序每10秒运行一次。
https://stackoverflow.com/questions/53312675
复制相似问题