# Package org.gradle.workers

Workers allow running pieces of work in the background, either in-process in isolated classloaders or out-of-process in reusable daemons.

Since:
  3.5

- Interface Summary
  Interface | Description
  --- | ---
  ClassLoaderWorkerSpec | A worker spec providing the requirements of an isolated classpath.
  ForkingWorkerSpec | A worker spec providing the requirements of a forked process.
  ProcessWorkerSpec | A worker spec providing the requirements of a forked process with a custom classpath.
  WorkAction<T extends WorkParameters> | Represents the implementation of a unit of work to be used when submitting work to the `WorkerExecutor`.
  WorkerConfiguration | Represents the configuration of a worker.
  WorkerExecutor | Allows work to be submitted for asynchronous execution.
  WorkerSpec | Represents the common configuration of a worker.
  WorkParameters | Marker interface for parameter objects to `WorkAction`s.
  WorkQueue | Represents a queue of work items with a uniform set of worker requirements.

- Class Summary
  Class | Description
  --- | ---
  WorkParameters.None | Used for work actions without parameters.

- Enum Summary
  Enum | Description
  --- | ---
  ForkMode | Forking mode for workers.
  IsolationMode | Isolation mode for workers.

- Exception Summary
  Exception | Description
  --- | ---
  WorkerExecutionException | Indicates that a failure occurred during execution of work in a worker.