|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.Timer
public class Timer
バックグラウンドスレッドで将来実行するタスクをスケジュールするクラスです。 タスクは1回だけあるいは定期的に繰り返して実行するかを指定できます。
Java 2 Platform, Standard Edition.ではこのクラスによってデーモンスレッドによるスケジューリングも行えましたが、Java 2 Platform, Micro Edition ではデーモンスレッドは使用できません。
個々の Timer
オブジェクトはタスクを実行するための単一のバックグラウンドスレッドを所有しています。
単一のバックグラウンドスレッド上でスケジュールされた TimerTask
を順次実行するため、TimerTask
は速やかに実行を終了するように記述する必要があります。
1つの TimerTask
が長時間に渡って処理を行うと、その後の TimerTask
は連続してまとめて実行されることになります。
全ての参照が外れ、全てのスケジュール内容の実行が終了するとバックグラウンドスレッドも同時に終了し、ガーベジコレクトの対象に含まれるようになります。
スケジュール内容全て取り消して終了する必要がある場合は cancel()
メソッドを呼び出します。
この場合でも現在まさに実行中の処理は取り消せません。
このクラスはスレッドセーフに実装されています。外部で同期を取ることなく、複数のスレッドから1つのインスタンスを共有することができます。
Object.wait(long)
メソッドを使用してスケジューリングを行っており、リアルタイム性は確保されていません。
このクラスは Mobile Information Device Profile にに所属しています。 MID Profile を含まない環境では使用できません。
TimerTask
,
Object.wait(long)
コンストラクタの概要 | |
---|---|
Timer()
インスタンスとバックグラウンドスレッドを生成します。 |
メソッドの概要 | |
---|---|
void |
cancel()
スケジュールされているタスクを全て破棄して、タイマーを終了します。 |
void |
schedule(TimerTask tt,
Date dt)
渡されたタスクを指定日時に実行されるようにスケジュールします。 |
void |
schedule(TimerTask tt,
Date dt,
long period)
渡されたタスクを指定日時に実行されるようにスケジュールします。 |
void |
schedule(TimerTask tt,
long delay)
渡されたタスクを指定ミリ秒経過後に実行されるようにスケジュールします。 |
void |
schedule(TimerTask tt,
long delay,
long period)
渡されたタスクを指定ミリ秒後に実行されるようにスケジュールします。 |
void |
scheduleAtFixedRate(TimerTask tt,
Date first,
long period)
渡されたタスクを指定日時に実行されるようにスケジュールします。 |
void |
scheduleAtFixedRate(TimerTask tt,
long delay,
long period)
渡されたタスクを指定ミリ秒後に実行されるようにスケジュールします。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public Timer()
Thread
,
cancel()
メソッドの詳細 |
---|
public void schedule(TimerTask tt, long delay)
tt
- 実行する対象のタスクを渡します。delay
- 何ミリ秒後に実行するかを渡します。
IllegalArgumentException
- delay
が負数の場合あるいは delay +
System.currentTimeMillis()
が負数の場合に throw します。
IllegalStateException
- タスクがスケジュール済みかキャンセルされている場合、タイマーがキャンセルされている場合、あるいはバックグラウンドスレッドが終了している場合に throw します。public void schedule(TimerTask tt, Date dt)
tt
- 実行する対象のタスクを渡します。dt
- 実行する日時を渡します。
IllegalArgumentException
- dt.getTime
が負数の場合に throw します。
IllegalStateException
- タスクがスケジュール済みかキャンセルされている場合、タイマーがキャンセルされている場合、あるいはバックグラウンドスレッドが終了している場合に throw します。public void schedule(TimerTask tt, long delay, long period)
渡されたタスクを指定ミリ秒後に実行されるようにスケジュールします。 その後は指定された間隔をおいて繰り返し実行します。
実行の間隔は前回の実行終了時間を起点としてスケジュールします。 このため、何らかの理由により実行が遅延した場合、その後の実行も遅延することになります。 実行後に次のスケジュールを行うため、実際の実行間隔は指定された間隔よりも若干長くなります。
tt
- 実行する対象のタスクを渡します。delay
- 何ミリ秒後に実行するかを渡します。period
- 何ミリ秒の間隔を空けて繰り返し実行するかを渡します。
IllegalArgumentException
- delay
が負数の場合あるいは delay +
System.currentTimeMillis()
が負数の場合に throw します。
IllegalStateException
- タスクがスケジュール済みかキャンセルされている場合、タイマーがキャンセルされている場合、あるいはバックグラウンドスレッドが終了している場合に throw します。public void schedule(TimerTask tt, Date dt, long period)
渡されたタスクを指定日時に実行されるようにスケジュールします。 指定された日時が過去を示している場合は直ちに実行されるようにスケジュールします。 その後は指定された間隔をおいて繰り返し実行します。
実行の間隔は前回の実行終了時間を起点としてスケジュールします。 このため、何らかの理由により実行が遅延した場合、その後の実行も遅延することになります。 実行後に次のスケジュールを行うため、実際の実行間隔は指定された間隔よりも若干長くなります。
tt
- 実行する対象のタスクを渡します。dt
- 実行する日時を渡します。period
- 何ミリ秒の間隔を空けて繰り返し実行するかを渡します。
IllegalArgumentException
- delay
が負数の場合あるいは delay +
System.currentTimeMillis()
が負数の場合に throw します。
IllegalStateException
- タスクがスケジュール済みかキャンセルされている場合、タイマーがキャンセルされている場合、あるいはバックグラウンドスレッドが終了している場合に throw します。public void scheduleAtFixedRate(TimerTask tt, long delay, long period)
渡されたタスクを指定ミリ秒後に実行されるようにスケジュールします。 その後は指定された間隔をおいて繰り返し実行します。
実行の間隔は初回の実行開始時間を起点としてスケジュールします。 このため、何らかの理由により実行が遅延した場合、遅延によって次のスケジュールとバッティングした場合は遅れを取り戻すのに必要な回数連続してタスクの実行を行います。
tt
- 実行する対象のタスクを渡します。delay
- 何ミリ秒後に実行するかを渡します。period
- 何ミリ秒の間隔を空けて繰り返し実行するかを渡します。
IllegalArgumentException
- delay
が負数の場合あるいは delay +
System.currentTimeMillis()
が負数の場合に throw します。
IllegalStateException
- タスクがスケジュール済みかキャンセルされている場合、タイマーがキャンセルされている場合、あるいはバックグラウンドスレッドが終了している場合に throw します。public void scheduleAtFixedRate(TimerTask tt, Date first, long period)
渡されたタスクを指定日時に実行されるようにスケジュールします。 指定された日時が過去を示している場合は直ちに実行されるようにスケジュールします。 その後は指定された間隔をおいて繰り返し実行します。
実行の間隔は初回の実行開始時間を起点としてスケジュールします。 このため、何らかの理由により実行が遅延した場合、遅延によって次のスケジュールとバッティングした場合は遅れを取り戻すのに必要な回数連続してタスクの実行を行います。
tt
- 実行する対象のタスクを渡します。first
- 実行する日時を渡します。period
- 何ミリ秒の間隔を空けて繰り返し実行するかを渡します。
IllegalArgumentException
- delay
が負数の場合あるいは delay +
System.currentTimeMillis()
が負数の場合に throw します。
IllegalStateException
- タスクがスケジュール済みかキャンセルされている場合、タイマーがキャンセルされている場合、あるいはバックグラウンドスレッドが終了している場合に throw します。public void cancel()
スケジュールされているタスクを全て破棄して、タイマーを終了します。 現在タスクを実行中のスレッドには影響を与えません。 タイマーの終了によってバックグラウンドスレッドも同時終了となり、タスクのスケジュールは行われなくなります。
このメソッドは複数回も呼び出すことができますが、2回目以降の呼び出しは何も処理を行いません。
該当するタイマーによってスケジュールされたタスクが該当するタイマーのこのメソッドを呼び出した場合、実行中のタスクが該当するタイマーによって実行される最後のタスクとなります。
|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |