|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjava.util.concurrent.Executors
public class Executors
このパッケージで定義された Executor
、ExecutorService
、ScheduledExecutorService
、ThreadFactory
、および Callable
クラス用のファクトリおよびユーティリティメソッド。このクラスは、次の種類のメソッドをサポートします。
ExecutorService
を作成し、返すメソッドScheduledExecutorService
を作成し、返すメソッドThreadFactory
を作成し、返すメソッドCallable
を作成し、返すメソッド
メソッドの概要 | ||
---|---|---|
static Callable<Object> |
callable(PrivilegedAction action)
呼び出し時に指定された特権付きアクションを実行してその結果を返す Callable オブジェクトを返します。 |
|
static Callable<Object> |
callable(PrivilegedExceptionAction action)
呼び出し時に指定された特権付き例外アクションを実行してその結果を返す Callable オブジェクトを返します。 |
|
static Callable<Object> |
callable(Runnable task)
呼び出し時に指定されたタスクを実行して null を返す Callable オブジェクトを返します。 |
|
static
|
callable(Runnable task,
T result)
呼び出し時に指定されたタスクを実行し、指定された結果を返す Callable オブジェクトを返します。 |
|
static ThreadFactory |
defaultThreadFactory()
新規スレッドの作成に使用するデフォルトのスレッドファクトリを返します。 |
|
static ExecutorService |
newCachedThreadPool()
必要に応じ、新規スレッドを作成するスレッドプールを作成しますが、利用可能な場合には以前に構築されたスレッドを再利用します。 |
|
static ExecutorService |
newCachedThreadPool(ThreadFactory threadFactory)
必要に応じ、新規スレッドを作成するスレッドプールを作成しますが、利用可能な場合には以前に構築されたスレッドを再利用します。 |
|
static ExecutorService |
newFixedThreadPool(int nThreads)
共有アンバウンド形式のキューなしで動作する、固定セットのスレッドを再利用するスレッドプールを作成します。 |
|
static ExecutorService |
newFixedThreadPool(int nThreads,
ThreadFactory threadFactory)
共有アンバウンド形式のキューなしで動作する、固定セットのスレッドを再利用するスレッドプールを作成します。 |
|
static ScheduledExecutorService |
newScheduledThreadPool(int corePoolSize)
指定された遅延時間後、または周期的にコマンドの実行をスケジュール可能なスレッドプールを作成します。 |
|
static ScheduledExecutorService |
newScheduledThreadPool(int corePoolSize,
ThreadFactory threadFactory)
指定された遅延時間後、または周期的にコマンドの実行をスケジュール可能なスレッドプールを作成します。 |
|
static ExecutorService |
newSingleThreadExecutor()
アンバウンド形式のキューなしで動作する、単一のワークスレッドを使用する Executor を作成します (ただし、実行中に発生した障害のため、この単一スレッドがシャットダウン前に終了した場合には、必要に応じて新規スレッドが引き継いで後続のタスクを実行する)。 |
|
static ExecutorService |
newSingleThreadExecutor(ThreadFactory threadFactory)
アンバウンド形式のキューなしで動作する、単一のワークスレッドを使用する Executor を作成します。 |
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor()
指定された遅延時間後、または周期的にコマンドの実行をスケジュール可能な、単一スレッドの executor を作成します。 |
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
指定された遅延時間後、または周期的にコマンドの実行をスケジュール可能な、単一スレッドの executor を作成します。 |
|
static
|
privilegedCallable(Callable<T> callable)
呼び出し時に、現在のアクセス制御コンテキストに従って指定された callable を実行する Callable オブジェクトを返します。 |
|
static
|
privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
呼び出し時に、現在のアクセス制御コンテキストに従い、現在のコンテキストクラスローダをコンテキストクラスローダとする、指定された callable を実行する Callable オブジェクトを返します。 |
|
static ThreadFactory |
privilegedThreadFactory()
現在のスレッドと同じアクセス権を持つ新規スレッドを作成するために使用するスレッドファクトリを返します。 |
|
static ExecutorService |
unconfigurableExecutorService(ExecutorService executor)
定義済みの ExecutorService メソッドをすべて指定された executor に委譲するが、キャストを使用してアクセス可能な他のメソッドは委譲しないオブジェクトを返します。 |
|
static ScheduledExecutorService |
unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
定義済みの ScheduledExecutorService メソッドをすべて指定された executor に委譲するが、キャストを使用してアクセス可能な他のメソッドは委譲しないオブジェクトを返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
---|
public static ExecutorService newFixedThreadPool(int nThreads)
nThreads
- プール内のスレッド数
public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
nThreads
- プール内のスレッド数threadFactory
- 新規スレッド作成時に使用するファクトリ
public static ExecutorService newSingleThreadExecutor()
public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)
threadFactory
- 新規スレッド作成時に使用するファクトリ
public static ExecutorService newCachedThreadPool()
ThreadPoolExecutor
コンストラクタを使用して作成できます。
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)
threadFactory
- 新規スレッド作成時に使用するファクトリ
public static ScheduledExecutorService newSingleThreadScheduledExecutor()
public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
threadFactory
- 新規スレッド作成時に使用するファクトリ
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
corePoolSize
- プール内に保持するスレッドの数 (アイドル状態のスレッドも含む)
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
corePoolSize
- プール内に保持するスレッドの数 (アイドル状態のスレッドも含む)threadFactory
- executor が新規スレッドを作成する際に使用するファクトリ
public static ExecutorService unconfigurableExecutorService(ExecutorService executor)
ExecutorService
メソッドをすべて指定された executor に委譲するが、キャストを使用してアクセス可能な他のメソッドは委譲しないオブジェクトを返します。これを使用すると、構成を安全に「フリーズ」しつつ、指定された具象実装のチューニングを許可しないようにできます。
executor
- 基になる実装
NullPointerException
- executor が null の場合public static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
ScheduledExecutorService
メソッドをすべて指定された executor に委譲するが、キャストを使用してアクセス可能な他のメソッドは委譲しないオブジェクトを返します。これを使用すると、構成を安全に「フリーズ」しつつ、指定された具象実装のチューニングを許可しないようにできます。
executor
- 基になる実装
NullPointerException
- executor が null の場合public static ThreadFactory defaultThreadFactory()
ThreadGroup
内の Executor が使用する新規スレッドをすべて作成します。SecurityManager
が存在する場合、System.getSecurityManager()
のグループが使用され、存在しない場合は、この defaultThreadFactory メソッドを呼び出すスレッドグループが使用されます。各新規スレッドは、優先順位 Thread.NORM_PRIORITY を持つ非デーモンスレッドとして作成されます。新規スレッドは、pool-N-thread-M の Thread.getName()
を介してアクセス可能な名前を持ちます。ここで、N はこのファクトリの通し番号、M はこのファクトリにより作成されたスレッドの通し番号を意味します。
public static ThreadFactory privilegedThreadFactory()
defaultThreadFactory()
と同じ設定を持つスレッドを作成します。また、新規スレッドの AccessControlContext および contextClassLoader を、この privilegedThreadFactory メソッドを呼び出すスレッドと同じに設定します。新規 privilegedThreadFactory は、AccessController.doPrivileged(java.security.PrivilegedAction)
アクション内で作成できます。その際、現在のスレッドのアクセス制御コンテキストを設定して、アクション内に選択したアクセス権設定を保持するスレッドを作成します。
この種のスレッド内で実行中のタスクは、現在のスレッドと同じアクセス制御およびクラスローダを保持しますが、同じ ThreadLocal
や InheritableThreadLocal
値を保持する必要はありません。ThreadPoolExecutor.beforeExecute(java.lang.Thread, java.lang.Runnable)
を使用して ThreadPoolExecutor
サブクラス内でタスクを実行する前に、必要に応じ、スレッドロケールの特定の値を設定またはリセットできます。また、ワークスレッドを初期化して、他の指定されたスレッドと同じ InheritableThreadLocal 設定にすることが必要な場合、カスタム ThreadFactory を作成し、スレッドがその内部で値を継承する他のスレッドの作成を待機し、サービスがそれを要求するようにできます。
AccessControlException
- 現在のアクセス制御コンテキストが、コンテキストクラスローダの取得と設定の両方のアクセス権を保持しない場合public static <T> Callable<T> callable(Runnable task, T result)
Callable
オブジェクトを返します。これは、Callable を必要とするメソッドを、他の方法では結果の出ないアクションに適用する場合に役立ちます。
task
- 実行するタスクresult
- 返す結果
NullPointerException
- タスクが null の場合public static Callable<Object> callable(Runnable task)
Callable
オブジェクトを返します。
task
- 実行するタスク
NullPointerException
- タスクが null の場合public static Callable<Object> callable(PrivilegedAction action)
Callable
オブジェクトを返します。
action
- 実行する特権付きアクション
NullPointerException
- アクションが null の場合public static Callable<Object> callable(PrivilegedExceptionAction action)
Callable
オブジェクトを返します。
action
- 実行する特権付き例外アクション
NullPointerException
- アクションが null の場合public static <T> Callable<T> privilegedCallable(Callable<T> callable)
Callable
オブジェクトを返します。通常、このメソッドは AccessController.doPrivileged(java.security.PrivilegedAction)
アクション内で呼び出されて callable を作成するようにします。callable は、可能であればそのアクション内の選択したアクセス権設定に従って実行し、可能でなければ関連付けられた AccessControlException
をスローします。
callable
- 基になるタスク
NullPointerException
- callable が null の場合public static <T> Callable<T> privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
Callable
オブジェクトを返します。通常、このメソッドは AccessController.doPrivileged(java.security.PrivilegedAction)
アクション内で呼び出して callable を作成するようにします。callable は、可能であればそのアクション内の選択したアクセス権設定に従って実行し、可能でなければ関連付けられた AccessControlException
をスローします。
callable
- 基になるタスク
NullPointerException
- callable が null の場合
AccessControlException
- 現在のアクセス制御コンテキストが、コンテキストクラスローダの設定と取得の両方のアクセス権を保持しない場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。