next up previous
Next: 11.2 周期実行 Up: 11 Timer, TimerTaskクラス Previous: 11 Timer, TimerTaskクラス

11.1 一回きりの実行

次の例では,``Time's up''を表示するだけのrumメソッドをもった RemindTaskがTimertaskのサブクラスとなる. RemindTaskを作って何msec後にそのタスクを実行するかを Timerのscheduleメソッドで指定する.

// Reminder.java
import java.util.Timer;
import java.util.TimerTask;

/**
 * Simple demo that uses java.util.Timer
 * to schedule a task to execute
 * once 5 seconds have passed.
 */

public class Reminder {
    Timer timer;

    public Reminder(int seconds) {
        timer = new Timer();
        timer.schedule(new RemindTask(), seconds*1000);
    }

    class RemindTask extends TimerTask {
        public void run() {
            System.out.println("Time's up!");
            timer.cancel(); //Terminate the timer thread
        }
    }

    public static void main(String args[]) {
        System.out.println("About to schedule task.");
        new Reminder(5);
        System.out.println("Task scheduled.");
    }
}


generated through LaTeX2HTML. M.Inaba 平成18年5月7日