我是Java新手,我想创建一个程序,如果检测到时间,将执行确定的操作。
实施例: 我启动一个计时器,当30个segs消失,显示一条消息,3分钟后,执行另一个动作等等。
我该怎么做?
谢谢
答案 0 :(得分:1)
使用Timer类,你可以这样做:
public void timer() {
TimerTask tasknew = new MyTask();
Timer timer = new Timer();
/* scheduling the task, the first argument is the task you will be
performing, the second is the delay, and the last is the period. */
timer.schedule(tasknew, 100, 100);
}
}
这是扩展TimerTask并执行某些操作的类的示例。
class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("Hello world from Timer task!");
}
}
进一步阅读
答案 1 :(得分:0)
使用ScheduledExecutorService是一种可能性。
请参阅the docs for usage example and more。
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}