|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.concurrent.Executors
public class Executors
此套件中所定義的 Executor
、ExecutorService
、ScheduledExecutorService
、ThreadFactory
和 Callable
類別的處理器和實用方法。此類別支持以下各種方法:
ExecutorService
的方法。
ScheduledExecutorService
的方法。
ThreadFactory
的方法,它可將新創建的執行緒設置為已知的狀態。
Callable
的方法,這樣可將其用於需要 Callable 的執行方法中。
方法摘要 | ||
---|---|---|
static Callable<Object> |
callable(PrivilegedAction<?> action)
返回 Callable 物件,調用它時可運行給定特權的操作並返回其結果。 |
|
static Callable<Object> |
callable(PrivilegedExceptionAction<?> action)
返回 Callable 物件,調用它時可運行給定特權的異常操作並返回其結果。 |
|
static Callable<Object> |
callable(Runnable task)
返回 Callable 物件,調用它時可運行給定的任務並返回 null。 |
|
static
|
callable(Runnable task,
T result)
返回 Callable 物件,調用它時可運行給定的任務並返回給定的結果。 |
|
static ThreadFactory |
defaultThreadFactory()
返回用於創建新執行緒的預設執行緒處理器。 |
|
static ExecutorService |
newCachedThreadPool()
創建一個可根據需要創建新執行緒的執行緒池,但是在以前建構的執行緒可用時將重用它們。 |
|
static ExecutorService |
newCachedThreadPool(ThreadFactory threadFactory)
創建一個可根據需要創建新執行緒的執行緒池,但是在以前建構的執行緒可用時將重用它們,並在需要時使用提供的 ThreadFactory 創建新執行緒。 |
|
static ExecutorService |
newFixedThreadPool(int nThreads)
創建一個可重用固定執行緒數的執行緒池,以共享的無界佇列方式來運行這些執行緒。 |
|
static ExecutorService |
newFixedThreadPool(int nThreads,
ThreadFactory threadFactory)
創建一個可重用固定執行緒數的執行緒池,以共享的無界佇列方式來運行這些執行緒,在需要時使用提供的 ThreadFactory 創建新執行緒。 |
|
static ScheduledExecutorService |
newScheduledThreadPool(int corePoolSize)
創建一個執行緒池,它可安排在給定延遲後運行命令或者定期地執行。 |
|
static ScheduledExecutorService |
newScheduledThreadPool(int corePoolSize,
ThreadFactory threadFactory)
創建一個執行緒池,它可安排在給定延遲後運行命令或者定期地執行。 |
|
static ExecutorService |
newSingleThreadExecutor()
創建一個使用單個 worker 執行緒的 Executor,以無界佇列方式來運行該執行緒。 |
|
static ExecutorService |
newSingleThreadExecutor(ThreadFactory threadFactory)
創建一個使用單個 worker 執行緒的 Executor,以無界佇列方式來運行該執行緒,並在需要時使用提供的 ThreadFactory 創建新執行緒。 |
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor()
創建一個單執行緒執行程序,它可安排在給定延遲後運行命令或者定期地執行。 |
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
創建一個單執行緒執行程序,它可安排在給定延遲後運行命令或者定期地執行。 |
|
static
|
privilegedCallable(Callable<T> callable)
返回 Callable 物件,調用它時可在當前的存取控制上下文中執行給定的 callable 物件。 |
|
static
|
privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
返回 Callable 物件,調用它時可在當前的存取控制上下文中,使用當前上下文類別載入器作為上下文類別載入器來執行給定的 callable 物件。 |
|
static ThreadFactory |
privilegedThreadFactory()
返回用於創建新執行緒的執行緒處理器,這些新執行緒與當前執行緒具有相同的權限。 |
|
static ExecutorService |
unconfigurableExecutorService(ExecutorService executor)
返回一個將所有已定義的 ExecutorService 方法委託給指定執行程序的物件,但是使用強制轉換可能無法存取其他方法。 |
|
static ScheduledExecutorService |
unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
返回一個將所有已定義的 ExecutorService 方法委託給指定執行程序的物件,但是使用強制轉換可能無法存取其他方法。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法詳細資訊 |
---|
public static ExecutorService newFixedThreadPool(int nThreads)
關閉
之前,池中的執行緒將一直存在。
nThreads
- 池中的執行緒數
IllegalArgumentException
- 如果 nThreads <= 0public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
關閉
之前,池中的執行緒將一直存在。
nThreads
- 池中的執行緒數threadFactory
- 創建新執行緒時使用的處理器
NullPointerException
- 如果 threadFactory 為 null
IllegalArgumentException
- 如果 nThreads <= 0public static ExecutorService newSingleThreadExecutor()
public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)
threadFactory
- 創建新執行緒時使用的處理器
NullPointerException
- 如果 threadFactory 為 nullpublic static ExecutorService newCachedThreadPool()
ThreadPoolExecutor
建構子創建具有類似屬性但細節不同(例如逾時參數)的執行緒池。
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)
threadFactory
- 創建新執行緒時使用的處理器
NullPointerException
- 如果 threadFactory 為 nullpublic static ScheduledExecutorService newSingleThreadScheduledExecutor()
public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
threadFactory
- 創建新執行緒時使用的處理器
NullPointerException
- 如果 threadFactory 為 nullpublic static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
corePoolSize
- 池中所保存的執行緒數,即使執行緒是空閒的也包括在內。
NullPointerException
- 如果 threadFactory 為 nullpublic static ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
corePoolSize
- 池中所保存的執行緒數,即使執行緒是空閒的也包括在內threadFactory
- 執行程序創建新執行緒時使用的處理器
IllegalArgumentException
- 如果 corePoolSize < 0
NullPointerException
- 如果 threadFactory 為 nullpublic static ExecutorService unconfigurableExecutorService(ExecutorService executor)
ExecutorService
方法委託給指定執行程序的物件,但是使用強制轉換可能無法存取其他方法。這提供了一種可安全地“凍結”配置並且不允許調整給定具體實作的方法。
executor
- 底層實作
NullPointerException
- 如果 executor 為 nullpublic static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
ExecutorService
方法委託給指定執行程序的物件,但是使用強制轉換可能無法存取其他方法。這提供了一種可安全地“凍結”配置並且不允許調整給定具體實作的方法。
executor
- 底層實作
NullPointerException
- 如果 executor 為 nullpublic 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 方法的執行緒相同。可以在 AccessController.doPrivileged(java.security.PrivilegedAction)
操作中創建一個新 privilegedThreadFactory,設置當前執行緒的存取控制上下文,以便創建具有該操作中保持的所選權限的執行緒。
注意,雖然運行在此類別執行緒中的任務具有與當前執行緒相同的存取控制和類別載入器,但是它們無需具有相同的 ThreadLocal
或 InheritableThreadLocal
值。如有必要,使用 ThreadPoolExecutor.beforeExecute(java.lang.Thread, java.lang.Runnable)
在 ThreadPoolExecutor
子類別中運行任何任務前,可以設置或重置執行緒區域變數的特定值。另外,如果必須初始化 worker 執行緒,以具有與某些其他指定執行緒相同的 InheritableThreadLocal 設置,則可以在執行緒等待和服務創建請求的環境中創建自定義的 ThreadFactory,而不是繼承其值。
AccessControlException
- 如果當前存取控制上下文沒有獲取和設置上下文類別載入器的權限。public static <T> Callable<T> callable(Runnable task, T result)
Callable
物件,調用它時可運行給定的任務並返回給定的結果。這在把需要 Callable 的方法應用到其他無結果的操作時很有用。
task
- 要運行的任務result
- 返回的結果
NullPointerException
- 如果 task 為 nullpublic static Callable<Object> callable(Runnable task)
Callable
物件,調用它時可運行給定的任務並返回 null。
task
- 要運行的任務
NullPointerException
- 如果 task 為 nullpublic static Callable<Object> callable(PrivilegedAction<?> action)
Callable
物件,調用它時可運行給定特權的操作並返回其結果。
action
- 要運行的特權操作
NullPointerException
- 如果 action 為 nullpublic static Callable<Object> callable(PrivilegedExceptionAction<?> action)
Callable
物件,調用它時可運行給定特權的異常操作並返回其結果。
action
- 要運行的特權異常操作
NullPointerException
- 如果 action 為 nullpublic static <T> Callable<T> privilegedCallable(Callable<T> callable)
Callable
物件,調用它時可在當前的存取控制上下文中執行給定的 callable 物件。通常應該在 AccessController.doPrivileged(java.security.PrivilegedAction)
操作中調用此方法,以便創建 callable 物件,並且如有可能,則在該操作中保持的所選權限設置下執行此物件;如果無法調用,則拋出相關的 AccessControlException
。
callable
- 底層任務
NullPointerException
- 如果 callable 為 nullpublic static <T> Callable<T> privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
Callable
物件,調用它時可在當前的存取控制上下文中,使用當前上下文類別載入器作為上下文類別載入器來執行給定的 callable 物件。通常應該在 AccessController.doPrivileged(java.security.PrivilegedAction)
操作中調用此方法,以創建 callable 物件,並且如有可能,則在該操作中保持的所選權限設置下執行此物件;如果無法調用,則拋出相關的 AccessControlException
。
callable
- 底層任務
NullPointerException
- 如果 callable 為 null
AccessControlException
- 如果當前的存取控制上下文沒有設置和獲得上下文類別載入器的權限。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。