public interface AsyncTaskExecutor extends TaskExecutor
TaskExecutor
実装用の拡張インターフェース。開始タイムアウトパラメーター付きのオーバーロードされた execute(Runnable, long)
バリアントを提供し、Callable
をサポートします。 メモ: Executors
クラスには、他の一般的なクロージャのようなオブジェクトを実行できる一連のメソッドが含まれています。たとえば、PrivilegedAction
を Callable
に変換してから実行します。
このインターフェースの実装は、TaskExecutor.execute(Runnable)
メソッドがその Runnable を呼び出し側のスレッドで実行するのではなく、他のいくつかのスレッドで非同期に実行することも示しています。
SimpleAsyncTaskExecutor
, SchedulingTaskExecutor
, Callable
, Executors
修飾子と型 | フィールドと説明 |
---|---|
static long | TIMEOUT_IMMEDIATE 即時実行を示す定数。 |
static long | TIMEOUT_INDEFINITE 時間制限がないことを示す定数。 |
修飾子と型 | メソッドと説明 |
---|---|
void | execute(java.lang.Runnable task, long startTimeout) 指定された task を実行します。 |
<T> java.util.concurrent.Future<T> | submit(java.util.concurrent.Callable<T> task) Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。 |
java.util.concurrent.Future<?> | submit(java.lang.Runnable task) 実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。 |
execute
static final long TIMEOUT_IMMEDIATE
static final long TIMEOUT_INDEFINITE
void execute(java.lang.Runnable task, long startTimeout)
task
を実行します。task
- 実行する Runnable
(非 null
)startTimeout
- タスクが開始される予定の期間(ミリ秒)。これはエグゼキューターへのヒントとして意図されており、即時タスクの優先処理を可能にします。一般的な値は TIMEOUT_IMMEDIATE
または TIMEOUT_INDEFINITE
(TaskExecutor.execute(Runnable)
で使用されるデフォルト)です。TaskTimeoutException
- タイムアウトのためにタスクが拒否された場合 (つまり、時間内に開始できません)TaskRejectedException
- 指定されたタスクが受け入れられなかった場合 java.util.concurrent.Future<?> submit(java.lang.Runnable task)
null
の結果を返します。task
- 実行する Runnable
(非 null
)TaskRejectedException
- 指定されたタスクが受け入れられなかった場合 <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
task
- 実行する Callable
(非 null
)TaskRejectedException
- 指定されたタスクが受け入れられなかった場合