|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.concurrent.AbstractExecutorService java.util.concurrent.ThreadPoolExecutor java.util.concurrent.ScheduledThreadPoolExecutor
public class ScheduledThreadPoolExecutor
指定された遅延後または周期的に実行するためのコマンドを追加スケジュール可能な ThreadPoolExecutor
。複数のワークスレッドを必要とする場合や、ThreadPoolExecutor
(このクラスを拡張する) の提供する柔軟性や機能が必要な場合、このクラスを Timer
よりも優先して使用します。
遅延タスクはそれが有効になり次第実行されますが、有効になった後いつ開始されるかに関してリアルタイムの保証はありません。実行時間が正確に同じにスケジュールされたタスクは、先入れ先出し (FIFO) の送信順に有効にされます。
このクラスは ThreadPoolExecutor
から継承されますが、継承したチューニングメソッドのいくつかは有用ではありません。特に、corePoolSize スレッドおよびアンバウンド形式のキューを使用する固定サイズのプールとして動作するため、maximumPoolSize を調整しても有益な結果は得られません。
入れ子のクラスの概要 |
---|
クラス java.util.concurrent.ThreadPoolExecutor から継承された入れ子のクラス/インタフェース |
---|
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy |
コンストラクタの概要 | |
---|---|
ScheduledThreadPoolExecutor(int corePoolSize)
指定したコアプールサイズで、新規 ScheduledThreadPoolExecutor を作成します。 |
|
ScheduledThreadPoolExecutor(int corePoolSize,
RejectedExecutionHandler handler)
指定された初期パラメータを使って、新しい ScheduledThreadPoolExecutor を作成します。 |
|
ScheduledThreadPoolExecutor(int corePoolSize,
ThreadFactory threadFactory)
指定された初期パラメータを使って、新しい ScheduledThreadPoolExecutor を作成します。 |
|
ScheduledThreadPoolExecutor(int corePoolSize,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
指定された初期パラメータを使って、新しい ScheduledThreadPoolExecutor を作成します。 |
メソッドの概要 | ||
---|---|---|
void |
execute(Runnable command)
ゼロの遅延要求でコマンドを実行します。 |
|
boolean |
getContinueExistingPeriodicTasksAfterShutdownPolicy()
この executor で shutdown が実行された場合でも既存の周期タスクの実行を継続するかどうかに関するポリシーを取得します。 |
|
boolean |
getExecuteExistingDelayedTasksAfterShutdownPolicy()
この executor で shutdown が実行された場合でも既存の遅延タスクを実行するかどうかに関するポリシーを取得します。 |
|
BlockingQueue<Runnable> |
getQueue()
この executor が使用するタスクキューを返します。 |
|
boolean |
remove(Runnable task)
このタスクが存在する場合、executor の内部キューから削除し、まだ起動していないなら実行されないようにします。 |
|
|
schedule(Callable<V> callable,
long delay,
TimeUnit unit)
指定された遅延後に有効になる ScheduledFuture を作成および実行します。 |
|
ScheduledFuture<?> |
schedule(Runnable command,
long delay,
TimeUnit unit)
指定された遅延後に有効になる単発的なアクションを作成および実行します。 |
|
ScheduledFuture<?> |
scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit)
指定された初期遅延後に最初に有効になり、以降は指定された期間後に有効になる周期的なアクションを作成および実行します。 |
|
ScheduledFuture<?> |
scheduleWithFixedDelay(Runnable command,
long initialDelay,
long delay,
TimeUnit unit)
指定された初期遅延後に最初に有効になり、以降は実行終了から次の実行開始までの指定遅延後に有効になる周期的なアクションを作成および実行します。 |
|
void |
setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value)
この executor で shutdown が実行された場合でも既存の周期タスクの実行を継続するかどうかに関するポリシーを設定します。 |
|
void |
setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value)
この executor で shutdown が実行された場合でも既存の遅延タスクを実行するかどうかに関するポリシーを設定します。 |
|
void |
shutdown()
順序に従って実行されるシャットダウンを開始します。 |
|
List<Runnable> |
shutdownNow()
実行中のアクティブなタスクすべての停止を試み、待機中のタスクの処理を停止し、実行を待機していたタスクのリストを返します。 |
|
|
submit(Callable<T> task)
値を返す実行タスクを送信し、保留中のタスク結果を表す Future を返します。 |
|
Future<?> |
submit(Runnable task)
実行用の Runnable タスクを送信し、そのタスクを表す Future を返します。 |
|
|
submit(Runnable task,
T result)
実行用の Runnable タスクを送信して、完了時に指定された結果を返すタスクを表す Future を返します。 |
クラス java.util.concurrent.AbstractExecutorService から継承されたメソッド |
---|
invokeAll, invokeAll, invokeAny, invokeAny |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース java.util.concurrent.ExecutorService から継承されたメソッド |
---|
awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated |
コンストラクタの詳細 |
---|
public ScheduledThreadPoolExecutor(int corePoolSize)
corePoolSize
- プール内に保持するスレッドの数 (アイドル状態のスレッドも含む)
IllegalArgumentException
- corePoolSize がゼロ以下の場合public ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory)
corePoolSize
- プール内に保持するスレッドの数 (アイドル状態のスレッドも含む)threadFactory
- executor が新規スレッドを作成する際に使用するファクトリ
NullPointerException
- threadFactory が null の場合public ScheduledThreadPoolExecutor(int corePoolSize, RejectedExecutionHandler handler)
corePoolSize
- プール内に保持するスレッドの数 (アイドル状態のスレッドも含む)handler
- スレッドが制限に達するか、キューが容量に達したために実行がブロックされた場合に使用するハンドラ
NullPointerException
- ハンドラが null の場合public ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler)
corePoolSize
- プール内に保持するスレッドの数 (アイドル状態のスレッドも含む)threadFactory
- executor が新規スレッドを作成する際に使用するファクトリhandler
- スレッドが制限に達するか、キューが容量に達したために実行がブロックされた場合に使用するハンドラ
NullPointerException
- threadFactory またはハンドラが null の場合メソッドの詳細 |
---|
public boolean remove(Runnable task)
ThreadPoolExecutor
の記述: このメソッドは、取り消しスキーマの一部として有効に使用できます。内部キューに配置される前に他の形式に変換されたタスクは、削除に失敗する場合があります。たとえば、submit を使用して入力されたタスクは、Future 状態を維持する形式に変換される可能性があります。ただし、この場合は、ThreadPoolExecutor.purge()
メソッドを使用してこれらの取り消された Future を削除できます。
ThreadPoolExecutor
内の remove
task
- 削除するタスク
public ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit)
ScheduledExecutorService
の記述:
ScheduledExecutorService
内の schedule
command
- 実行するタスクdelay
- 現在からの実行遅延時間unit
- 遅延パラメータの時間単位
public <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit)
ScheduledExecutorService
の記述:
ScheduledExecutorService
内の schedule
callable
- 実行する関数delay
- 現在からの実行遅延時間unit
- 遅延パラメータの時間単位
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
ScheduledExecutorService
の記述:
ScheduledExecutorService
内の scheduleAtFixedRate
command
- 実行するタスクinitialDelay
- 最初の実行の遅延時間period
- 後続の実行間隔unit
- initialDelay および period パラメータの時間単位
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
ScheduledExecutorService
の記述:
ScheduledExecutorService
内の scheduleWithFixedDelay
command
- 実行するタスクinitialDelay
- 最初の実行の遅延時間delay
- 実行終了から次の実行開始までの遅延unit
- initialDelay および delay パラメータの時間単位
public void execute(Runnable command)
ScheduledFuture
へのアクセスが行われます。
Executor
内の execute
ThreadPoolExecutor
内の execute
command
- 実行するタスク
RejectedExecutionException
- executor がシャットダウンしたためにタスクを受け入れて実行できない場合、RejectedExecutionHandler の判断でスローされる
NullPointerException
- コマンドが null の場合public Future<?> submit(Runnable task)
ExecutorService
の記述:
ExecutorService
内の submit
AbstractExecutorService
内の submit
task
- 送信するタスク
public <T> Future<T> submit(Runnable task, T result)
ExecutorService
の記述:
ExecutorService
内の submit
AbstractExecutorService
内の submit
task
- 送信するタスクresult
- 返す結果
public <T> Future<T> submit(Callable<T> task)
ExecutorService
の記述: タスクの待機をただちにブロックする場合は、result = exec.submit(aCallable).get(); の形式で指定できます。
注: Executors
クラスには、クロージャに似た他の一般オブジェクトを変換可能なメソッドセット (たとえば、PrivilegedAction
を送信可能な Callable
形式に変換できる) が含まれます。
ExecutorService
内の submit
AbstractExecutorService
内の submit
task
- 送信するタスク
public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value)
value
- true の場合にはシャットダウン後に続行する。false の場合は続行しないgetExecuteExistingDelayedTasksAfterShutdownPolicy()
public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy()
setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean)
public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value)
value
- true の場合にはシャットダウン後に実行します。false の場合は実行しません。getExecuteExistingDelayedTasksAfterShutdownPolicy()
public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy()
setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean)
public void shutdown()
ExecutorService
内の shutdown
ThreadPoolExecutor
内の shutdown
public List<Runnable> shutdownNow()
実行中のアクティブなタスク処理を停止するために最善の努力をすること以上の保証はありません。この実装では Thread.interrupt()
を介してタスクが取り消されるため、タスクが割り込みに対する応答をマスクするか失敗すると、タスクが終了しなくなる可能性があります。
ExecutorService
内の shutdownNow
ThreadPoolExecutor
内の shutdownNow
ScheduledFuture
であり、execute を使用して送信されるタスクが含まれる。これらは、遅延ゼロの ScheduledFuture の基盤としてスケジューリングで使用されるpublic BlockingQueue<Runnable> getQueue()
ScheduledFuture
であり、execute を使用して送信されるタスクが含まれます。これらは、遅延ゼロの ScheduledFuture の基盤としてスケジューリングで使用されます。このキューで使用される反復子がタスクの実行順にタスクをトラバースすることは、保証されていません。
ThreadPoolExecutor
内の getQueue
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。