Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java定时器的使用_Java_Timer - Fatal编程技术网

Java定时器的使用

Java定时器的使用,java,timer,Java,Timer,嗨,我使用定时器完成两项任务,这将监控一组IP地址 public input () { timer.schedule(task, 0, 8); timer_second.schedule(task_monitor, 0, 5); } 我有两个定时器任务 private final TimerTask task = new TimerTask() { @Override public void run() { } } private fi

嗨,我使用定时器完成两项任务,这将监控一组IP地址

public input ()
{

timer.schedule(task, 0, 8);
timer_second.schedule(task_monitor, 0, 5);
}
我有两个定时器任务

private final TimerTask task = new TimerTask() {
        @Override
        public void run() {
           }
}

private final TimerTask task2 = new TimerTask() {
        @Override
        public void run() {
           }
}
但根据我的代码逻辑,可以多次调用input(),如果第二次调用,则会得到IllegalStateException:任务已计划或已取消

这似乎很明显,但我的逻辑是输入可以被不同的IP调用,我必须使用2定时器任务监视所有这样的IP

private final TimerTask task = new TimerTask() {
        @Override
        public void run() {
           }
}

private final TimerTask task2 = new TimerTask() {
        @Override
        public void run() {
           }
}
我应该如何避免这个?? 请帮忙!!!!!
提前感谢

在每次调用input时使用新任务,或者在再次调用input时向任务传递新参数。我相信您无法跨多个计时器同时重用任务。在任何给定的时间,您都可以将一个任务精确地用于0或1个计时器。这意味着每次调用input()时需要两个新任务。