JAVA開発メモ
Timer のバックアップソース(No.1)
 

[トップ|一覧|単語検索|最終更新|バックアップ|ヘルプ]

*java.util.Timer
バックグラウンドで実行されるタスクをスケジュールするスレッドのためのクラスです。
タスクは、1回だけ、または定期的に繰り返し実行されるようにスケジュールされます。

Timerクラスはスレッドセーフです。複数のタスクを使用してもスレッドは増加しません。

**メソッドの概要
-cancel()
--現在スケジュールされているタスクを破棄して、このタイマーを終了します。タスク一つをキャンセルしたい場合は、TimerTaskのcancelメソッドを実行します。
-schedule(TimerTask task, Date time)
--指定した時間に指定したタスクが実行されるようスケジュールします。過去の時間を指定すると、タスクはただちに実行されるようスケジュールされます。
-schedule(TimerTask task, Date firstTime, long period)
--指定したタスクが、指定した時間に開始され、遅延実行を繰り返すようにスケジュールします。
-schedule(TimerTask task, long delay)
--指定した遅延のあとに、指定したタスクが実行されるようスケジュールします。
-schedule(TimerTask task, long delay, long period)
--指定したタスクが、指定した遅延のあとに開始され、遅延実行を繰り返すようにスケジュールします。
-scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
--指定したタスクが、指定した時間に開始され、「固定頻度実行((固定頻度実行では、最初の実行のスケジュールされた実行時間を基準にしてそれぞれの実行がスケジュールされます。何らかの理由で実行が遅延した場合 (ガベージコレクションまたはその他のバックグラウンド作業など)、「遅れを取り戻す」ために 2 つ以上の実行が連続して行われます。最終的に実行の頻度は、指定した期間の対応する頻度と同じになります))」を繰り返すようにスケジュールします。
-scheduleAtFixedRate(TimerTask task, long delay, long period)
--指定したタスクが、指定した遅延のあとに開始され、「固定頻度実行」を繰り返すようにスケジュールします。

**サンプル
-タスクの例
 import java.util.TimerTask;
 
 public class SampleTask extends TimerTask {
 
     public void run() {
         // タスクの処理
     }
 }

-指定時刻にタスクを実行
 final String DATE_FORMAT = "yyyyMMdd HH:mm:ss";
 SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
 		
 Timer timer = new Timer();
 TimerTask task = new SampleTask();
 // サンプルタスクを2004年1月1日0時0分0秒に実行
 timer.schedule(task, sdf.parse("20040101 00:00:00"));

-繰り返しタスクを実行
 Timer timer = new Timer();
 TimerTask task = new SampleTask();
 // サンプルタスクを今から1分毎に実行
 timer.schedule(task, new Date(), 60000);

トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 5.3.29

HTML convert time to 0.002 sec.