Uses of Interface java.util.concurrent.ExecutorService (Java Platform SE 8 )
Date: 2020-03-26

## Uses of Interface
java.util.concurrent.ExecutorService

- Packages that use ExecutorService
  Package | Description
  --- | ---
  java.nio.channels | Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
  java.nio.channels.spi | Service-provider classes for the ``java.nio.channels`` package.
  java.nio.file.spi | Service-provider classes for the ``java.nio.file`` package.
  java.util.concurrent | Utility classes commonly useful in concurrent programming.

- - ### Uses of ExecutorService in java.nio.channels

    Methods in java.nio.channels with parameters of type ExecutorService
    Modifier and Type | Method and Description
    --- | ---
    `static AsynchronousFileChannel` | AsynchronousFileChannel.`open(Path file, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)` Opens or creates a file for reading and/or writing, returning an asynchronous file channel to access the file.
    `static AsynchronousChannelGroup` | AsynchronousChannelGroup.`withCachedThreadPool(ExecutorService executor, int initialSize)` Creates an asynchronous channel group with a given thread pool that creates new threads as needed.
    `static AsynchronousChannelGroup` | AsynchronousChannelGroup.`withThreadPool(ExecutorService executor)` Creates an asynchronous channel group with a given thread pool.

  - ### Uses of ExecutorService in java.nio.channels.spi

    Methods in java.nio.channels.spi with parameters of type ExecutorService
    Modifier and Type | Method and Description
    --- | ---
    `abstract AsynchronousChannelGroup` | AsynchronousChannelProvider.`openAsynchronousChannelGroup(ExecutorService executor, int initialSize)` Constructs a new asynchronous channel group with the given thread pool.

  - ### Uses of ExecutorService in java.nio.file.spi

    Methods in java.nio.file.spi with parameters of type ExecutorService
    Modifier and Type | Method and Description
    --- | ---
    `AsynchronousFileChannel` | FileSystemProvider.`newAsynchronousFileChannel(Path path, Set<? extends OpenOption> options, ExecutorService executor, FileAttribute<?>... attrs)` Opens or creates a file for reading and/or writing, returning an asynchronous file channel to access the file.

  - ### Uses of ExecutorService in java.util.concurrent

    Subinterfaces of ExecutorService in java.util.concurrent
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ScheduledExecutorService` An `ExecutorService` that can schedule commands to run after a given delay, or to execute periodically.

    Classes in java.util.concurrent that implement ExecutorService
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractExecutorService` Provides default implementations of `ExecutorService` execution methods.
    `class` | `ForkJoinPool` An `ExecutorService` for running `ForkJoinTask`s.
    `class` | `ScheduledThreadPoolExecutor` A `ThreadPoolExecutor` that can additionally schedule commands to run after a given delay, or to execute periodically.
    `class` | `ThreadPoolExecutor` An `ExecutorService` that executes each submitted task using one of possibly several pooled threads, normally configured using `Executors` factory methods.

    Methods in java.util.concurrent that return ExecutorService
    Modifier and Type | Method and Description
    --- | ---
    `static ExecutorService` | Executors.`newCachedThreadPool()` Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available.
    `static ExecutorService` | Executors.`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` | Executors.`newFixedThreadPool(int nThreads)` Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue.
    `static ExecutorService` | Executors.`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` | Executors.`newSingleThreadExecutor()` Creates an Executor that uses a single worker thread operating off an unbounded queue.
    `static ExecutorService` | Executors.`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` | Executors.`newWorkStealingPool()` Creates a work-stealing thread pool using all `available processors` as its target parallelism level.
    `static ExecutorService` | Executors.`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` | Executors.`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.

    Methods in java.util.concurrent with parameters of type ExecutorService
    Modifier and Type | Method and Description
    --- | ---
    `static ExecutorService` | Executors.`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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.