Executors

public class Executors extends Object

Factory and utility methods for Executor, ExecutorService, ScheduledExecutorService, ThreadFactory, and Callable classes defined in this package. This class supports the following kinds of methods:

  • Methods that create and return an ExecutorService set up with commonly useful configuration settings.
  • Methods that create and return a ScheduledExecutorService set up with commonly useful configuration settings.
  • Methods that create and return a "wrapped" ExecutorService, that disables reconfiguration by making implementation-specific methods inaccessible.
  • Methods that create and return a ThreadFactory that sets newly created threads to a known state.
  • Methods that create and return a Callable out of other closure-like forms, so they can be used in execution methods requiring Callable.

Public Method Summary

static Callable<Object>
callable(Runnable task)
Returns a Callable object that, when called, runs the given task and returns null.
static Callable<Object>
callable(PrivilegedAction<?> action)
Returns a Callable object that, when called, runs the given privileged action and returns its result.
static Callable<Object>
callable(PrivilegedExceptionAction<?> action)
Returns a Callable object that, when called, runs the given privileged exception action and returns its result.
static <T> Callable<T>
callable(Runnable task, T result)
Returns a Callable object that, when called, runs the given task and returns the given result.
static ThreadFactory
defaultThreadFactory()
Returns a default thread factory used to create new threads.
static ExecutorService
newCachedThreadPool()
Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available.
static ExecutorService
newCachedThreadPool(ThreadFactory threadFactory)
Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available, and uses the provided ThreadFactory to create new threads when needed.
static ExecutorService
newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue, using the provided ThreadFactory to create new threads when needed.
static ExecutorService
newFixedThreadPool(int nThreads)
Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue.
static ScheduledExecutorService
newScheduledThreadPool(int corePoolSize)
Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
static ScheduledExecutorService
newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
static ExecutorService
newSingleThreadExecutor(ThreadFactory threadFactory)
Creates an Executor that uses a single worker thread operating off an unbounded queue, and uses the provided ThreadFactory to create a new thread when needed.
static ExecutorService
newSingleThreadExecutor()
Creates an Executor that uses a single worker thread operating off an unbounded queue.
static ScheduledExecutorService
newSingleThreadScheduledExecutor()
Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically.
static ScheduledExecutorService
newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically.
static ExecutorService
newWorkStealingPool(int parallelism)
Creates a thread pool that maintains enough threads to support the given parallelism level, and may use multiple queues to reduce contention.
static ExecutorService
newWorkStealingPool()
Creates a work-stealing thread pool using the number of {@linkplain Runtime#availableProcessors available processors} as its target parallelism level.
static <T> Callable<T>
privilegedCallable(Callable<T> callable)
Legacy security code; do not use.
static <T> Callable<T>
privilegedCallableUsingCurrentClassLoader(Callable<T> callable)
Legacy security code; do not use.
static ThreadFactory
privilegedThreadFactory()
Legacy security code; do not use.
static ExecutorService
unconfigurableExecutorService(ExecutorService executor)
Returns an object that delegates all defined ExecutorService methods to the given executor, but not any other methods that might otherwise be accessible using casts.
static ScheduledExecutorService
unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
Returns an object that delegates all defined ScheduledExecutorService methods to the given executor, but not any other methods that might otherwise be accessible using casts.

Inherited Method Summary