# Package org.eclipse.net4j.util.concurrent

Utility interfaces and classes commonly useful in concurrent programming.

- Interface Summary
  Interface | Description
  --- | ---
  DelegableReentrantLock.DelegateDetector |
  ICorrelator<CORRELATION,​VALUE> |
  IExecutorServiceProvider |
  IRWLockManager<OBJECT,​CONTEXT> | Support Multiple reads/no write and upgrade lock from read to write.
  IRWOLockManager<OBJECT,​CONTEXT> | A `read/write lock manager` that supports `write option` locks.
  ISynchronizer<RESULT> | Synchronizes a producer and a consumer thread letting the producer pass a value to the consumer.
  IWorkSerializer | Deprecated. As of 3.9 use an executor such as `SerializingExecutor`.
  MonitoredThread.ThreadMonitor |
  RWLockManager.LockEntry<OBJECT,​CONTEXT> | Deprecated. Use `RWOLockManager`
  RWLockManager.LockEntryHandler<OBJECT,​CONTEXT> | Deprecated. Use `RWOLockManager`
  RWLockManager.LockStrategy<OBJECT,​CONTEXT> | Deprecated. Use `RWOLockManager`

- Class Summary
  Class | Description
  --- | ---
  AsynchronousWorkSerializer | Deprecated. As of 3.6 use `ExecutorWorkSerializer`.
  CompletionWorkSerializer | Deprecated. As of 3.6 use `ExecutorWorkSerializer`.
  ConcurrencyUtil |
  ConcurrentValue<T> | Allow synchronization between many threads for a specific value.
  DelegableReentrantLock |
  DelegableReentrantLock.DelegateDetector.Factory |
  DelegatingExecutorService |
  ExecutorServiceFactory |
  ExecutorWorkSerializer | Deprecated. As of 3.9 use an executor such as `SerializingExecutor`.
  MonitoredThread |
  MonitoredThread.MultiThreadMonitor |
  NonBlockingIntCounter |
  NonBlockingLongCounter |
  NonFairReentrantLock |
  OnePendingExecutor |
  ParallelRunner | A `list` of `runnables` that can be run in parallel.
  PriorityQueueRunnable |
  PriorityQueueRunner |
  QueueRunner |
  QueueRunner2<T extends java.lang.Runnable> |
  QueueWorker<E> |
  QueueWorkerWorkSerializer | Deprecated. As of 3.6 use `ExecutorWorkSerializer`.
  ResultSynchronizer<RESULT> |
  RoundRobinList<E> |
  RunnableWithName |
  RWLock |
  RWLockManager<OBJECT,​CONTEXT> | Deprecated. As of 3.2 use `RWOLockManager`.
  RWOLockManager<OBJECT,​CONTEXT> | Keeps track of locks on objects.
  RWOLockManager.LockState<OBJECT,​CONTEXT> | Represents a combination of locks for one OBJECT.
  SerializingExecutor |
  Sleeper | Deprecated. As of 3.9 subject to future removal.
  Stoppable | A `runnable` that can be `stopped`.
  SynchronizingCorrelator<CORRELATION,​RESULT> |
  SynchronousExecutor |
  SynchronousWorkSerializer | Deprecated. As of 3.9 use an executor such as `SynchronousExecutor`.
  TaskQueue<T> | A queue that asynchronously, but orderly, `executes` tasks that have been `scheduled` to it.
  ThreadPool |
  Timeouter |
  TimerLifecycle |
  TimerLifecycle.DaemonFactory |
  TrackableTimerTask |
  Worker |

- Enum Summary
  Enum | Description
  --- | ---
  IRWLockManager.LockType |

- Exception Summary
  Exception | Description
  --- | ---
  TimeoutRuntimeException |