Package

scala.concurrent.stm

skel

Permalink

package skel

Visibility
  1. Public
  2. All

Type Members

  1. abstract class AtomicArray[T] extends collection.mutable.IndexedSeq[T] with ArrayLike[T, AtomicArray[T]]

    Permalink

    AtomicArray implements a fixed-length indexed sequence where reads and writes have volatile semantics.

    AtomicArray implements a fixed-length indexed sequence where reads and writes have volatile semantics. In addition, it adds an atomic swap operation (swap) and an atomic compare-and-swap (compareAndSet). The collection is backed by one of the Java atomic array classes, with the best match chosen at construction time using a manifest.

    Instances of AtomicArray[T] are backed by AtomicIntegerArray if T is a primitive of at most 32 bits (smaller values are padded rather than packed). AtomicArray[Long] and AtomicArray[Double] are backed by AtomicLongArray. All other instances of AtomicArray[T] are backed by AtomicReferenceArray (except for AtomicArray[Unit]). Floats and doubles are stored using their raw bit representation.

    This class is used in the implementation of the reference STM implementation, but it is standalone and may be generally useful.

  2. trait AtomicArrayBuilder[A] extends Builder[A, AtomicArray[A]]

    Permalink
  3. class SimpleRandom extends AnyRef

    Permalink

    An clonable unsynchronized random number generator that uses the same algorithm as the concurrent object SimpleRandom.

    An clonable unsynchronized random number generator that uses the same algorithm as the concurrent object SimpleRandom. The caller must ensure that each SimpleRandom instance is used from only one thread at a time.

  4. class StubInTxn extends InTxn

    Permalink
  5. class StubSTMImpl extends STMImpl

    Permalink

Value Members

  1. object AtomicArray

    Permalink
  2. object AtomicArrayBuilder

    Permalink
  3. object SimpleRandom

    Permalink

    A random number generator that focuses on speed and lack of inter-thread interference, rather than on the quality of the numbers returned.

    A random number generator that focuses on speed and lack of inter-thread interference, rather than on the quality of the numbers returned. The object SimpleRandom is striped internally to reduce contention when accessed from multiple threads. The class SimpleRandom should only be used by a single thread.

    The constants in this 64-bit linear congruential random number generator are from http://nuclear.llnl.gov/CNP/rng/rngman/node4.html.

Ungrouped