- すべての実装されたインタフェース:
- AutoCloseable,- Executor,- ExecutorService,- ScheduledExecutorService
ThreadPoolExecutorです。 複数のワーカー・スレッドが必要な場合、またはこのクラスが拡張するThreadPoolExecutorにさらに柔軟性または機能が必要な場合は、Timerよりもこのクラスを使用することをお薦めします。 
 遅延タスクは有効になるとすぐに実行されますが、有効になったあといつ開始されるかについては、リアルタイム保証がありません。 まったく同じ実行時間にスケジュール設定されたタスクは、送信の先入れ先出し(FIFO)順に有効になります。
送信されたタスクが、実行される前に取り消された場合は、実行が抑制されます。 デフォルトでは、このような取り消されたタスクは、その遅延時間が経過するまでワーク・キューから自動的には削除されません。 これにより、さらに検査や監視を行うことが可能になりますが、取り消されたタスクが無制限に保持される可能性もあります。 これを回避するには、setRemoveOnCancelPolicy(boolean)を使用して、取消時にタスクが作業キューからすぐに削除されます。 
 
scheduleAtFixedRateまたはscheduleWithFixedDelayによってスケジュールされた定期タスクの連続実行は重複しません。 各実行は異なるスレッドによって実行される可能性がありますが、以前の実行の効果は以降の実行の効果の前に発生します。 
 
このクラスはThreadPoolExecutorから継承されますが、継承されたチューニング・メソッドのいくつかはこのクラスにとって有効ではありません。 特に、これはcorePoolSizeスレッドとアンバウンド形式のキューを使用した固定サイズのプールとして機能するため、maximumPoolSizeを調整しても効果はありません。 さらに、corePoolSizeを0に設定したり、allowCoreThreadTimeOutを使用したりしても、プールに実行可能になったタスクを処理するためのスレッドがない状態のままになる可能性があるため、ほとんど効果はありません。 
 
ThreadPoolExecutorと同様に、特に指定がない場合、このクラスはExecutors.defaultThreadFactory()をデフォルトのスレッド・ファクトリとして使用し、ThreadPoolExecutor.AbortPolicyをデフォルトの拒否された実行ハンドラとして使用します。
 
拡張のノート: このクラスはexecuteメソッドとsubmitメソッドをオーバーライドして、タスク単位の遅延とスケジューリングを制御するための内部ScheduledFutureオブジェクトを生成します。 機能を保護するために、サブクラスでこれらのメソッドをこれ以上オーバーライドする場合は、スーパークラス・バージョンを呼び出す必要があります。これにより、タスクの追加のカスタマイズが実質的に無効になります。 ただし、このクラスでは、代替のprotected拡張メソッドdecorateTask (RunnableとCallableごとに1つのバージョン)を提供します。これは、execute、submit、schedule、scheduleAtFixedRate、およびscheduleWithFixedDelayで入力されたコマンドを実行するために使用される具象タスク型のカスタマイズに使用できます。 デフォルトでは、ScheduledThreadPoolExecutorはFutureTaskを拡張するタスク型を使用します。 ただし次のような形式のサブクラスを使用して、変更または置換できます。 
 
 
 public class CustomScheduledExecutor extends ScheduledThreadPoolExecutor {
   static class CustomTask<V> implements RunnableScheduledFuture<V> { ... }
   protected <V> RunnableScheduledFuture<V> decorateTask(
                Runnable r, RunnableScheduledFuture<V> task) {
       return new CustomTask<V>(r, task);
   }
   protected <V> RunnableScheduledFuture<V> decorateTask(
                Callable<V> c, RunnableScheduledFuture<V> task) {
       return new CustomTask<V>(c, task);
   }
   // ... add constructors, etc.
 }- 導入されたバージョン:
- 1.5
- 
ネストされたクラスのサマリークラス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を作成します。
- 
メソッドのサマリー修飾子と型メソッド説明protected <V> RunnableScheduledFuture<V> decorateTask(Runnable runnable, RunnableScheduledFuture<V> task) runnableを実行するために使用するタスクを変更または置換します。protected <V> RunnableScheduledFuture<V> decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task) 呼出し可能レイアウトを実行するために使用するタスクを変更または置換します。void要求された遅延がゼロで、commandを実行します。boolean既存の定期的なタスクの実行を継続するかどうかに関するポリシーを取得します。このexecutorでshutdownが実行されたときでも取得します。boolean既存の遅延タスクを実行するかどうかに関するポリシーを取得します。このexecutorでshutdownが実行されたときでも取得します。getQueue()このexecutorで使用するタスク・キューを返します。boolean取り消されたタスクを取消し時にワーク・キューからすぐに削除するかどうかに関するポリシーを取得します。指定された遅延後に有効になるワン・ショット・タスクを送信します。<V> ScheduledFuture<V> 指定した遅延の後に有効になる、値を返すワン・ショット・タスクを送信します。scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) 指定された初期遅延の後に最初に有効になり、続いて指定された期間で有効になる定期的なアクションを送信します。つまり、実行はinitialDelay、initialDelay + period、initialDelay + 2 * periodなどの後に開始されます。scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) 指定された初期遅延の後に最初に有効になる定期的なアクションを送信し、その後、1つの実行の終了と次の実行の開始の間の所定の遅延で送信します。voidsetContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value) 既存の定期的なタスクの実行を継続するかどうかに関するポリシーを設定します。このexecutorでshutdownが実行されたときでも設定します。voidsetExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value) 既存の遅延タスクを実行するかどうかに関するポリシーを設定します。このexecutorでshutdownが実行されたときでも取得します。voidsetRemoveOnCancelPolicy(boolean value) 取り消されたタスクを取消し時にワーク・キューからすぐに削除するかどうかに関するポリシーを設定します。voidshutdown()順序正しくシャットダウンを開始します。以前に送信されたタスクが実行されますが、新規タスクは受け入れられません。実行中のアクティブなタスクすべての停止を試み、待機中のタスクの処理を停止し、実行を待機していたタスクのリストを返します。Future<?> 実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。<T> Future<T> 実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。<T> Future<T> 値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。クラスjava.util.concurrent.ThreadPoolExecutorで宣言されたメソッドafterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, terminated, toStringクラスjava.util.concurrent.AbstractExecutorServiceで宣言されたメソッドinvokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskForクラスjava.lang.Objectで宣言されたメソッドclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitインタフェースjava.util.concurrent.ExecutorServiceで宣言されたメソッドawaitTermination, close, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated
- 
コンストラクタの詳細- 
ScheduledThreadPoolExecutorpublic ScheduledThreadPoolExecutor(int corePoolSize) 指定されたコア・プール・サイズで、新しいScheduledThreadPoolExecutorを作成します。- パラメータ:
- corePoolSize-- allowCoreThreadTimeOutが設定されていないかぎり、アイドルであってもプール内に維持されるスレッドの数
- 例外:
- IllegalArgumentException-- corePoolSize < 0の場合
 
- 
ScheduledThreadPoolExecutorpublic ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory) 指定された初期パラメータを使って、新しいScheduledThreadPoolExecutorを作成します。- パラメータ:
- corePoolSize-- allowCoreThreadTimeOutが設定されていないかぎり、アイドルであってもプール内に維持されるスレッドの数
- threadFactory- executorが新しいスレッドを作成するときに使用するファクトリ
- 例外:
- IllegalArgumentException-- corePoolSize < 0の場合
- NullPointerException-- threadFactoryがnullである場合
 
- 
ScheduledThreadPoolExecutorpublic ScheduledThreadPoolExecutor(int corePoolSize, RejectedExecutionHandler handler) 指定された初期パラメータを使って、新しいScheduledThreadPoolExecutorを作成します。- パラメータ:
- corePoolSize-- allowCoreThreadTimeOutが設定されていないかぎり、アイドルであってもプール内に維持されるスレッドの数
- handler- スレッドの境界およびキューの容量に達したため、実行がブロックされたときに使用するハンドラ
- 例外:
- IllegalArgumentException-- corePoolSize < 0の場合
- NullPointerException-- handlerがnullである場合
 
- 
ScheduledThreadPoolExecutorpublic ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler) 指定された初期パラメータを使って、新しいScheduledThreadPoolExecutorを作成します。- パラメータ:
- corePoolSize-- allowCoreThreadTimeOutが設定されていないかぎり、アイドルであってもプール内に維持されるスレッドの数
- threadFactory- executorが新しいスレッドを作成するときに使用するファクトリ
- handler- スレッドの境界およびキューの容量に達したため、実行がブロックされたときに使用するハンドラ
- 例外:
- IllegalArgumentException-- corePoolSize < 0の場合
- NullPointerException-- threadFactoryまたは- handlerがnullの場合
 
 
- 
- 
メソッドの詳細- 
decorateTaskprotected <V> RunnableScheduledFuture<V> decorateTask(Runnable runnable, RunnableScheduledFuture<V> task) runnableを実行するために使用するタスクを変更または置換します。 このメソッドは、内部タスクを管理するための具象クラスをオーバーライドするために使用できます。 デフォルトの実装は単に指定されたタスクを返します。- 型パラメータ:
- V- タスクの結果の型
- パラメータ:
- runnable- 送信されたRunnable
- task- Runnableを実行するために作成されたタスク
- 戻り値:
- runnableを実行できるタスク
- 導入されたバージョン:
- 1.6
 
- 
decorateTaskprotected <V> RunnableScheduledFuture<V> decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task) 呼出し可能レイアウトを実行するために使用するタスクを変更または置換します。 このメソッドは、内部タスクを管理するための具象クラスをオーバーライドするために使用できます。 デフォルトの実装は単に指定されたタスクを返します。- 型パラメータ:
- V- タスクの結果の型
- パラメータ:
- callable- 送信されたCallable
- task- Callableを実行するために作成されたタスク
- 戻り値:
- 呼出し可能レイアウトを実行できるタスク
- 導入されたバージョン:
- 1.6
 
- 
schedulepublic ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit) インタフェースからコピーされた説明:ScheduledExecutorService指定された遅延後に有効になるワン・ショット・タスクを送信します。- 定義:
- schedule、インタフェース- ScheduledExecutorService
- パラメータ:
- command- 実行するタスク
- delay- 現在から遅延実行までの時間
- unit- delayパラメータの時間単位
- 戻り値:
- タスクの保留状態の完了を表すScheduledFuture。そのget()メソッドは完了時にnullを返す
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- コマンドまたはユニットがヌルの場合
 
- 
schedulepublic <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit) インタフェースからコピーされた説明:ScheduledExecutorService指定した遅延の後に有効になる、値を返すワン・ショット・タスクを送信します。- 定義:
- schedule、インタフェース- ScheduledExecutorService
- 型パラメータ:
- V- 呼出し可能タスクの結果の型
- パラメータ:
- callable- 実行する関数
- delay- 現在から遅延実行までの時間
- unit- delayパラメータの時間単位
- 戻り値:
- 結果を抽出または取り消すために使用できるScheduledFuture
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- 呼び出し可能またはユニットがnullの場合
 
- 
scheduleAtFixedRatepublic ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) 指定された初期遅延の後に最初に有効になり、続いて指定された期間で有効になる定期的なアクションを送信します。つまり、実行はinitialDelay、initialDelay + period、initialDelay + 2 * periodなどの後に開始されます。タスク実行のシーケンスは、次の例外的な完了が発生するまで無期限に続きます: - タスクは、戻された将来を介して「明示的に取消された」です。
- メソッドshutdown()が呼び出され、「シャットダウン後に続行するかどうかに関するポリシー」がtrueに設定されていないか、またはメソッドshutdownNow()が呼び出されています。タスクの取消も発生します。
- タスクの実行によって例外がスローされます。 この場合、返された将来にgetをコールすると、ExecutionExceptionがスローされ、その原因として例外が保持されます。
 isDone()へのその後の呼び出しは、trueを返します。このタスクを実行するのに指定の期間(period)より長い時間がかかる場合、以降の実行は遅れて開始されることがありますが、並行して実行はされません。 - 定義:
- scheduleAtFixedRate、インタフェース- ScheduledExecutorService
- パラメータ:
- command- 実行するタスク
- initialDelay- 最初の遅延実行までの時間
- period- 連続する実行の間隔
- unit- initialDelayおよびperiodパラメータの時間単位
- 戻り値:
- 一連の繰返しタスクの保留中の完了を表すScheduledFuture。 今後のget()メソッドは、正常に戻されることはなく、タスクの取消しまたはタスク実行の異常終了時に例外をスローします。
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- コマンドまたはユニットがヌルの場合
- IllegalArgumentException- periodが0以下である場合
 
- 
scheduleWithFixedDelaypublic ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) 指定された初期遅延の後に最初に有効になる定期的なアクションを送信し、その後、1つの実行の終了と次の実行の開始の間の所定の遅延で送信します。タスク実行のシーケンスは、次の例外的な完了が発生するまで無期限に続きます: - タスクは、戻された将来を介して「明示的に取消された」です。
- メソッドshutdown()が呼び出され、「シャットダウン後に続行するかどうかに関するポリシー」がtrueに設定されていないか、またはメソッドshutdownNow()が呼び出されています。タスクの取消も発生します。
- タスクの実行によって例外がスローされます。 この場合、返された将来にgetをコールすると、ExecutionExceptionがスローされ、その原因として例外が保持されます。
 isDone()へのその後の呼び出しは、trueを返します。- 定義:
- scheduleWithFixedDelay、インタフェース- ScheduledExecutorService
- パラメータ:
- command- 実行するタスク
- initialDelay- 最初の遅延実行までの時間
- delay- 実行の終了後から次の開始までの遅延
- unit- initialDelayおよびdelayパラメータの時間単位
- 戻り値:
- 一連の繰返しタスクの保留中の完了を表すScheduledFuture。 今後のget()メソッドは、正常に戻されることはなく、タスクの取消しまたはタスク実行の異常終了時に例外をスローします。
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- コマンドまたはユニットがヌルの場合
- IllegalArgumentException- delayが0以下である場合
 
- 
executepublic void execute(Runnable command) 要求された遅延がゼロで、commandを実行します。 これにはschedule(command, 0, anyUnit)と同等の効果があります。 キューの検査やshutdownNowによって返されたリストの検査では、command自体ではなく、遅延が0のScheduledFutureにアクセスすることに注意してください。ScheduledFutureオブジェクトを使用した結果として、commandが突然終了した場合でも、2番目のThrowable引数をnullにしてafterExecuteが常に呼び出されます。 代わりに、このようなタスクによってスローされたThrowableは、Future.get()を使用して取得できます。- 定義:
- execute、インタフェース- Executor
- オーバーライド:
- execute、クラス- ThreadPoolExecutor
- パラメータ:
- command- 実行するタスク
- 例外:
- RejectedExecutionException-- RejectedExecutionHandlerの判断で、executorがシャットダウンされたため、タスクを実行のために受け入れることができない場合
- NullPointerException-- commandがnullである場合
 
- 
submitインタフェースからコピーされた説明:ExecutorService実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点でnullを返します。- 定義:
- submit、インタフェース- ExecutorService
- オーバーライド:
- submit、クラス- AbstractExecutorService
- パラメータ:
- task- 送信するタスク
- 戻り値:
- タスクの保留完了を表すFuture
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- タスクがnullの場合
 
- 
submitインタフェースからコピーされた説明:ExecutorService実行用のRunnableタスクを送信し、そのタスクを表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点で指定された結果を返します。- 定義:
- submit、インタフェース- ExecutorService
- オーバーライド:
- submit、クラス- AbstractExecutorService
- 型パラメータ:
- T- 結果の型
- パラメータ:
- task- 送信するタスク
- result- 返す結果
- 戻り値:
- タスクの保留完了を表すFuture
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- タスクがnullの場合
 
- 
submitインタフェースからコピーされた説明:ExecutorService値を返す実行用タスクを送信して、保留状態のタスク結果を表すFutureを返します。 Futureのgetメソッドは、正常に完了した時点でタスクの結果を返します。タスクの待機をただちにブロックする場合は、 result = exec.submit(aCallable).get();の形式の構築を使用できます。ノート: Executorsクラスには、クロージャに似たほかの一般オブジェクトを変換できるメソッド・セットが含まれます。たとえば、PrivilegedActionをCallable形式に変換して、送信可能にすることができます。- 定義:
- submit、インタフェース- ExecutorService
- オーバーライド:
- submit、クラス- AbstractExecutorService
- 型パラメータ:
- T- タスクの結果の型
- パラメータ:
- task- 送信するタスク
- 戻り値:
- タスクの保留完了を表すFuture
- 例外:
- RejectedExecutionException- タスクの実行をスケジュールできない場合
- NullPointerException- タスクがnullの場合
 
- 
setContinueExistingPeriodicTasksAfterShutdownPolicypublic void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value) 既存の定期的なタスクの実行を継続するかどうかに関するポリシーを設定します。このexecutorでshutdownが実行されたときでも設定します。 この場合、すでにシャットダウンされている場合、shutdownNowまたはポリシーがfalseに設定されるまで、実行は継続されます。 この値はデフォルトでfalseです。- パラメータ:
- value-- trueの場合はシャットダウン後に続行し、それ以外の場合は続行しない
- 関連項目:
 
- 
getContinueExistingPeriodicTasksAfterShutdownPolicypublic boolean getContinueExistingPeriodicTasksAfterShutdownPolicy()既存の定期的なタスクの実行を継続するかどうかに関するポリシーを取得します。このexecutorでshutdownが実行されたときでも取得します。 この場合、すでにシャットダウンされている場合、shutdownNowまたはポリシーがfalseに設定されるまで、実行は継続されます。 この値はデフォルトでfalseです。- 戻り値:
- シャットダウン後に続行する場合はtrue
- 関連項目:
 
- 
setExecuteExistingDelayedTasksAfterShutdownPolicypublic void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value) 既存の遅延タスクを実行するかどうかに関するポリシーを設定します。このexecutorでshutdownが実行されたときでも取得します。 この場合、これらのタスクが終了するのは、shutdownNowの実行時か、すでにシャットダウンが実行されポリシーをfalseに設定したあとに限られます。 この値はデフォルトでtrueです。- パラメータ:
- value-- trueの場合はシャットダウン後に実行し、それ以外の場合は実行しない
- 関連項目:
 
- 
getExecuteExistingDelayedTasksAfterShutdownPolicypublic boolean getExecuteExistingDelayedTasksAfterShutdownPolicy()既存の遅延タスクを実行するかどうかに関するポリシーを取得します。このexecutorでshutdownが実行されたときでも取得します。 この場合、これらのタスクが終了するのは、shutdownNowの実行時か、すでにシャットダウンが実行されポリシーをfalseに設定したあとに限られます。 この値はデフォルトでtrueです。- 戻り値:
- シャットダウン後に実行する場合はtrue
- 関連項目:
 
- 
setRemoveOnCancelPolicypublic void setRemoveOnCancelPolicy(boolean value) 取り消されたタスクを取消し時にワーク・キューからすぐに削除するかどうかに関するポリシーを設定します。 この値はデフォルトでfalseです。- パラメータ:
- value-- trueの場合は取消し時に削除し、それ以外の場合は削除しない。
- 導入されたバージョン:
- 1.7
- 関連項目:
 
- 
getRemoveOnCancelPolicypublic boolean getRemoveOnCancelPolicy()取り消されたタスクを取消し時にワーク・キューからすぐに削除するかどうかに関するポリシーを取得します。 この値はデフォルトでfalseです。- 戻り値:
- 取り消されたタスクがただちにキューから削除される場合はtrue
- 導入されたバージョン:
- 1.7
- 関連項目:
 
- 
shutdownpublic void shutdown()順序正しくシャットダウンを開始します。以前に送信されたタスクが実行されますが、新規タスクは受け入れられません。 シャットダウン後に呼出しを実行しても、効果はありません。このメソッドは、以前に送信されたタスクが実行を完了するのを待機しません。 これを実行するには、 awaitTerminationを使ってください。ExecuteExistingDelayedTasksAfterShutdownPolicyがfalseに設定されていた場合、遅延時間が経過していない既存の遅延タスクは取り消されます。 また、ContinueExistingPeriodicTasksAfterShutdownPolicyがtrueに設定されていないかぎり、既存の定期的なタスクの以後の実行は取り消されます。- 定義:
- shutdown、インタフェース- ExecutorService
- オーバーライド:
- shutdown、クラス- ThreadPoolExecutor
- 例外:
- SecurityException- セキュリティ・マネージャが存在する状況でこのExecutorServiceのシャットダウンを実行すると、呼出し側には変更を許可しないスレッドを操作できる場合。これは、- RuntimePermission- ("modifyThread")を保持しないか、セキュリティ・マネージャの- checkAccessメソッドがアクセスを拒否するためである。
 
- 
shutdownNow実行中のアクティブなタスクすべての停止を試み、待機中のタスクの処理を停止し、実行を待機していたタスクのリストを返します。 これらのタスクは、このメソッドから戻るときに、タスク・キューからドレイン(削除)されます。このメソッドは、アクティブに実行中のタスクが終了するのを待機しません。 これを実行するには、 awaitTerminationを使ってください。実行中のアクティブなタスク処理を停止するために最善の努力をすること以上の保証はありません。 この実装は、 Thread.interrupt()を介してタスクを中断します。中断への応答に失敗したタスクは終了しない場合があります。- 定義:
- shutdownNow、インタフェース- ExecutorService
- オーバーライド:
- shutdownNow、クラス- ThreadPoolExecutor
- 戻り値:
- 実行が開始されなかったタスクのリスト。 このリストの各要素はScheduledFutureです。scheduleメソッドのいずれかを介して送信されるタスクの場合、要素は返されたScheduledFutureと同じになります。executeを使用して送信されたタスクの場合、要素はゼロ遅延ScheduledFutureになります。
- 例外:
- SecurityException- セキュリティ・マネージャが存在する状況でこのExecutorServiceのシャットダウンを実行すると、呼出し側には変更を許可しないスレッドを操作できる場合。これは、- RuntimePermission- ("modifyThread")を保持しないか、セキュリティ・マネージャの- checkAccessメソッドがアクセスを拒否するためである。
 
- 
getQueuepublic BlockingQueue<Runnable> getQueue()このexecutorで使用するタスク・キューを返します。 タスク・キューへのアクセスは、デバッグおよび監視を主な目的としています。 このキューは、アクティブに使用されている可能性があります。 タスク・キューを取り出しても、キューに入っているタスクの実行は妨げられません。このキューの各要素は ScheduledFutureです。scheduleメソッドのいずれかを介して送信されるタスクの場合、要素は返されたScheduledFutureと同じになります。executeを使用して送信されたタスクの場合、要素はゼロ遅延ScheduledFutureになります。このキューに対する反復処理では、タスクが実行順序でトラバースされることは保証されません。 - オーバーライド:
- getQueue、クラス- ThreadPoolExecutor
- 戻り値:
- タスク・キュー
 
 
-