睡眠定时器任务
Timertask for sleep
我想将 TimerTask
用于 Sleep
,但我无法 运行 此代码。
运行函数第一次被调用,然后无限等待。我的代码有问题吗?
import java.util.Timer;
import java.util.TimerTask;
public class TimeExecutor {
class LocalSleep extends TimerTask {
private int noOfSeconds;
private int count = 0;
private Timer timer;
public LocalSleep(int noOfSeconds, Timer timer) {
this.noOfSeconds = noOfSeconds;
this.timer = timer;
}
void sleeeep() {
if (count < noOfSeconds) {
System.out.println("Count: " + count);
count++;
} else
timer.cancel();
}
@Override
public void run() {
sleeeep();
}
}
public static void main(String args[]) {
Timer timer = new Timer();
TimeExecutor t = new TimeExecutor();
timer.schedule(t.new LocalSleep(5, timer), 1000);
}
}
替换后工作
timer.schedule(t.new LocalSleep(5, timer), 1000);
与:
timer.schedule(t.new LocalSleep(5, timer), 0, 1000);
我想将 TimerTask
用于 Sleep
,但我无法 运行 此代码。
运行函数第一次被调用,然后无限等待。我的代码有问题吗?
import java.util.Timer;
import java.util.TimerTask;
public class TimeExecutor {
class LocalSleep extends TimerTask {
private int noOfSeconds;
private int count = 0;
private Timer timer;
public LocalSleep(int noOfSeconds, Timer timer) {
this.noOfSeconds = noOfSeconds;
this.timer = timer;
}
void sleeeep() {
if (count < noOfSeconds) {
System.out.println("Count: " + count);
count++;
} else
timer.cancel();
}
@Override
public void run() {
sleeeep();
}
}
public static void main(String args[]) {
Timer timer = new Timer();
TimeExecutor t = new TimeExecutor();
timer.schedule(t.new LocalSleep(5, timer), 1000);
}
}
替换后工作
timer.schedule(t.new LocalSleep(5, timer), 1000);
与:
timer.schedule(t.new LocalSleep(5, timer), 0, 1000);