Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Executors extends Object
Executor
, ExecutorService
, ScheduledExecutorService
, ThreadFactory
, и Callable
классы определяются в этом пакете. Этот класс поддерживает следующие виды методов: ExecutorService
установленный с обычно полезными параметрами конфигурации. ScheduledExecutorService
установленный с обычно полезными параметрами конфигурации. ThreadFactory
это устанавливает недавно создаваемые потоки в известное состояние. Callable
из других подобных закрытию форм, таким образом, они могут использоваться в методах выполнения, требующих Callable. Модификатор и Тип | Метод и Описание |
---|---|
static Callable<Object> |
callable(PrivilegedAction<?> action)
Возвраты a
Callable возразите, что, когда вызвано, выполняет данное привилегированное действие и возвращает его результат. |
static Callable<Object> |
callable(PrivilegedExceptionAction<?> action)
Возвраты a
Callable возразите, что, когда вызвано, выполняет данное привилегированное действие исключения и возвращает его результат. |
static Callable<Object> |
callable(Runnable task)
Возвраты a
Callable возразите, что, когда вызвано, выполняет данную задачу и возвращает null. |
static <T> Callable<T> |
callable(Runnable task, T result)
Возвраты a
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()
Создает Исполнителя, который использует единственный рабочий поток, работающий от неограниченной очереди.
|
static ExecutorService |
newSingleThreadExecutor(ThreadFactory threadFactory)
Создает Исполнителя, который использует единственный рабочий поток, работающий от неограниченной очереди, и использует предоставленный ThreadFactory, чтобы создать новый поток при необходимости.
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor()
Создает однопоточного исполнителя, который может запланировать команды, чтобы бежать за данной задержкой, или периодически выполняться.
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
Создает однопоточного исполнителя, который может запланировать команды, чтобы бежать за данной задержкой, или периодически выполняться.
|
static <T> Callable<T> |
privilegedCallable(Callable<T> callable)
Возвраты a
Callable объект, который, когда вызвано, выполнит данный callable под текущим контекстом управления доступом. |
static <T> Callable<T> |
privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
Возвраты a
Callable объект, который, когда вызвано, выполнит данный callable под текущим контекстом управления доступом с текущим загрузчиком класса контекста как загрузчик класса контекста. |
static ThreadFactory |
privilegedThreadFactory()
Возвращает фабрику потока, используемую, чтобы создать новые потоки, у которых есть те же самые полномочия как текущий поток.
|
static ExecutorService |
unconfigurableExecutorService(ExecutorService executor)
Возвращает объект, который делегирует все определенные
ExecutorService методы данному исполнителю, но не любые другие методы, которые могли бы иначе быть доступными бросками использования. |
static ScheduledExecutorService |
unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
Возвращает объект, который делегирует все определенные
ScheduledExecutorService методы данному исполнителю, но не любые другие методы, которые могли бы иначе быть доступными бросками использования. |
public static ExecutorService newFixedThreadPool(int nThreads)
shutdown
.nThreads
- число потоков в пулеIllegalArgumentException
- если nThreads <= 0
public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
shutdown
.nThreads
- число потоков в пулеthreadFactory
- фабрика, чтобы использовать, создавая новые потокиNullPointerException
- если threadFactory является нулемIllegalArgumentException
- если nThreads <= 0
public static ExecutorService newSingleThreadExecutor()
public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)
threadFactory
- фабрика, чтобы использовать, создавая новые потокиNullPointerException
- если threadFactory является нулемpublic static ExecutorService newCachedThreadPool()
ThreadPoolExecutor
конструкторы.public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)
threadFactory
- фабрика, чтобы использовать, создавая новые потокиNullPointerException
- если threadFactory является нулемpublic static ScheduledExecutorService newSingleThreadScheduledExecutor()
public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
threadFactory
- фабрика, чтобы использовать, создавая новые потокиNullPointerException
- если threadFactory является нулемpublic static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
corePoolSize
- число потоков, чтобы сохранить в пуле, даже если они неактивны.IllegalArgumentException
- если corePoolSize < 0
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
corePoolSize
- число потоков, чтобы сохранить в пуле, даже если они неактивны.threadFactory
- фабрика, чтобы использовать, когда исполнитель создает новый поток.IllegalArgumentException
- если corePoolSize < 0
NullPointerException
- если threadFactory является нулемpublic static ExecutorService unconfigurableExecutorService(ExecutorService executor)
ExecutorService
методы данному исполнителю, но не любые другие методы, которые могли бы иначе быть доступными бросками использования. Это обеспечивает способ безопасно "заморозить" конфигурацию и отвергнуть настройку данной конкретной реализации.executor
- базовая реализацияNullPointerException
- если нуль исполнителяpublic static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
ScheduledExecutorService
методы данному исполнителю, но не любые другие методы, которые могли бы иначе быть доступными бросками использования. Это обеспечивает способ безопасно "заморозить" конфигурацию и отвергнуть настройку данной конкретной реализации.executor
- базовая реализацияNullPointerException
- если нуль исполнителяpublic static ThreadFactory defaultThreadFactory()
ThreadGroup
. Если есть a SecurityManager
, это использует группу System.getSecurityManager()
, еще группа потока, вызывающего этот метод defaultThreadFactory. Каждый новый поток создается как поток недемона с приоритетным набором к меньшему из Thread.NORM_PRIORITY и максимального приоритета, разрешенного в группе потока. У новых потоков есть имена, доступные через Thread.getName()
из pool-N-thread-M, где N является порядковым номером этой фабрики, и М. является порядковым номером потока, создаваемого этой фабрикой.public static ThreadFactory privilegedThreadFactory()
defaultThreadFactory()
, дополнительно устанавливая AccessControlContext и contextClassLoader новых потоков, чтобы быть тем же самым как поток, вызывающий этот метод privilegedThreadFactory. Новый privilegedThreadFactory может быть создан в пределах AccessController.doPrivileged(java.security.PrivilegedAction<T>)
действие, устанавливающее контекст управления доступом текущего потока, чтобы создать потоки с выбранным содержанием настроек разрешения в пределах того действия. Отметьте, что, в то время как у задач, работающих в пределах таких потоков, будут то же самое управление доступом и настройки загрузчика класса как текущий поток, у них не должно быть того же самого ThreadLocal
или InheritableThreadLocal
значения. В случае необходимости определенные значения локальных переменных потока могут быть установлены или сброшены перед любыми выполнениями задачи в ThreadPoolExecutor
использование подклассов ThreadPoolExecutor.beforeExecute(java.lang.Thread, java.lang.Runnable)
. Кроме того, если необходимо инициализировать рабочие потоки, чтобы иметь те же самые настройки InheritableThreadLocal как некоторый другой определяемый поток, можно создать пользовательский ThreadFactory, в котором тот поток ожидает, и службы запрашивает создать других, которые наследуют его значения.
AccessControlException
- если у текущего контекста управления доступом нет разрешения, чтобы и получить и установить загрузчик класса контекста.public static <T> Callable<T> callable(Runnable task, T result)
Callable
возразите, что, когда вызвано, выполняет данную задачу и возвращает данный результат. Это может быть полезно, применяя методы, требующие Callable к иначе resultless действие.task
- задача работатьresult
- результат возвратитьсяNullPointerException
- если нуль задачиpublic static Callable<Object> callable(Runnable task)
Callable
возразите, что, когда вызвано, выполняет данную задачу и возвращает null.task
- задача работатьNullPointerException
- если нуль задачиpublic static Callable<Object> callable(PrivilegedAction<?> action)
Callable
возразите, что, когда вызвано, выполняет данное привилегированное действие и возвращает его результат.action
- привилегированное действие, чтобы работатьNullPointerException
- если нуль действияpublic static Callable<Object> callable(PrivilegedExceptionAction<?> action)
Callable
возразите, что, когда вызвано, выполняет данное привилегированное действие исключения и возвращает его результат.action
- привилегированное действие исключения, чтобы работатьNullPointerException
- если нуль действияpublic static <T> Callable<T> privilegedCallable(Callable<T> callable)
Callable
объект, который, когда вызвано, выполнит данный callable под текущим контекстом управления доступом. Этот метод должен обычно вызываться в пределах AccessController.doPrivileged(java.security.PrivilegedAction<T>)
действие, чтобы создать callables, который, если возможный, выполнится при выбранном содержании настроек разрешения в пределах того действия; или если не возможный, бросьте связанное AccessControlException
.callable
- базовая задачаNullPointerException
- если вызываемый нульpublic static <T> Callable<T> privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
Callable
объект, который, когда вызвано, выполнит данный callable под текущим контекстом управления доступом с текущим загрузчиком класса контекста как загрузчик класса контекста. Этот метод должен обычно вызываться в пределах AccessController.doPrivileged(java.security.PrivilegedAction<T>)
действие, чтобы создать callables, который, если возможный, выполнится при выбранном содержании настроек разрешения в пределах того действия; или если не возможный, бросьте связанное AccessControlException
.callable
- базовая задачаNullPointerException
- если вызываемый нульAccessControlException
- если текущий контекст управления доступом не имеет разрешения, чтобы и установить и получает загрузчик класса контекста.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.