# Package org.apache.cassandra.utils.concurrent

- Interface Summary
  Interface | Description
  --- | ---
  RefCounted<T> | An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.
  RefCounted.Tidy |
  SelfRefCounted<T extends SelfRefCounted<T>> |
  SharedCloseable | A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.
  Transactional | An abstraction for Transactional behaviour.
  WaitQueue.Signal | A Signal is a one-time-use mechanism for a thread to wait for notification that some condition state has transitioned that it may be interested in (and hence should check if it is).

- Class Summary
  Class | Description
  --- | ---
  Accumulator<E> | A simple append-only collection supporting an unbounded number of concurrent readers/writers, but a bounded number of items.
  Blocker |
  Locks |
  OpOrder | A class for providing synchronization between producers and consumers that do not communicate directly with each other, but where the consumers need to process their work in contiguous batches.
  OpOrder.Group | Represents a group of identically ordered operations, i.e.
  Ref<T> | An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.
  Refs<T extends RefCounted<T>> | A collection of managed Ref references to RefCounted objects, and the objects they are referencing.
  SharedCloseableImpl | A simple abstract implementation of SharedCloseable
  SimpleCondition |
  Transactional.AbstractTransactional | A simple abstract implementation of Transactional behaviour.
  WaitQueue | A relatively easy to use utility for general purpose thread signalling.
  WaitQueue.AbstractSignal | An abstract signal implementation
  WrappedSharedCloseable | An implementation of SharedCloseable that wraps a normal AutoCloseable, ensuring its close method is only called when all instances of SharedCloseable have been

- Enum Summary
  Enum | Description
  --- | ---
  Transactional.AbstractTransactional.State |

Copyright © 2018 The Apache Software Foundation