Class

monix.execution.atomic

AtomicNumber

Related Doc: package atomic

Permalink

abstract class AtomicNumber[T] extends Atomic[T]

Represents an Atomic reference holding a number, providing helpers for easily incrementing and decrementing it.

T

should be something that's Numeric

Source
AtomicNumber.scala
Linear Supertypes
Atomic[T], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AtomicNumber
  2. Atomic
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AtomicNumber()

    Permalink

Abstract Value Members

  1. abstract def add(v: T): Unit

    Permalink

    Adds to the atomic number the given value.

  2. abstract def addAndGet(v: T): T

    Permalink

    Adds to the atomic number and returns the result.

  3. abstract def compareAndSet(expect: T, update: T): Boolean

    Permalink

    Does a compare-and-set operation on the current value.

    Does a compare-and-set operation on the current value. For more info, checkout the related Compare-and-swap Wikipedia page.

    It's an atomic, worry free operation.

    expect

    is the value you expect to be persisted when the operation happens

    update

    will be the new value, should the check for expect succeeds

    returns

    either true in case the operation succeeded or false otherwise

    Definition Classes
    Atomic
  4. abstract def decrement(v: Int = 1): Unit

    Permalink

    Decrements the atomic number with the given integer.

  5. abstract def decrementAndGet(v: Int = 1): T

    Permalink

    Decrements the atomic number and returns the result.

  6. abstract def get: T

    Permalink

    Get the current value persisted by this Atomic.

    Get the current value persisted by this Atomic.

    Definition Classes
    Atomic
  7. abstract def getAndAdd(v: T): T

    Permalink

    Adds to the the atomic number and returns the value before the update.

  8. abstract def getAndDecrement(v: Int = 1): T

    Permalink

    Decrements the atomic number and returns the value before the update.

  9. abstract def getAndIncrement(v: Int = 1): T

    Permalink

    Increments the atomic number and returns the value before the update.

  10. abstract def getAndSet(update: T): T

    Permalink

    Sets the persisted value to update and returns the old value that was in place.

    Sets the persisted value to update and returns the old value that was in place. It's an atomic, worry free operation.

    Definition Classes
    Atomic
  11. abstract def getAndSubtract(v: T): T

    Permalink

    Subtracts from the atomic number and returns the value before the update.

  12. abstract def increment(v: Int = 1): Unit

    Permalink

    Increment with the given integer

  13. abstract def incrementAndGet(v: Int = 1): T

    Permalink

    Increments the atomic number and returns the result.

  14. abstract def lazySet(update: T): Unit

    Permalink

    Eventually sets to the given value.

    Eventually sets to the given value. Has weaker visibility guarantees than the normal set().

    Definition Classes
    Atomic
  15. abstract def set(update: T): Unit

    Permalink

    Updates the current value.

    Updates the current value.

    update

    will be the new value returned by get()

    Definition Classes
    Atomic
  16. abstract def subtract(v: T): Unit

    Permalink

    Subtracts from the atomic number the given value.

  17. abstract def subtractAndGet(v: T): T

    Permalink

    Subtracts from the atomic number and returns the result.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final macro def +=(value: T): Unit

    Permalink

    Subtracts from the atomic number the given value.

    Subtracts from the atomic number the given value. Alias for subtract.

  4. final macro def -=(value: T): Unit

    Permalink

    Adds to the atomic number the given value.

    Adds to the atomic number the given value. Alias for add.

  5. final macro def :=(value: T): Unit

    Permalink

    Alias for set.

    Alias for set. Updates the current value.

    value

    will be the new value returned by get()

    Definition Classes
    Atomic
  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. final macro def apply(): T

    Permalink

    Get the current value persisted by this Atomic, an alias for get().

    Get the current value persisted by this Atomic, an alias for get().

    Definition Classes
    Atomic
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final macro def getAndTransform(cb: (T) ⇒ T): T

    Permalink

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by the given callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns the update which is the new value that should be persisted

    returns

    the old value, just prior to when the successful update happened

    Definition Classes
    Atomic
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final macro def transform(cb: (T) ⇒ T): Unit

    Permalink

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by the given callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns the update which is the new value that should be persisted

    Definition Classes
    Atomic
  23. final macro def transformAndExtract[U](cb: (T) ⇒ (U, T)): U

    Permalink

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by your callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns a tuple that specifies the update + what should this method return when the operation succeeds.

    returns

    whatever was specified by your callback, once the operation succeeds

    Definition Classes
    Atomic
  24. final macro def transformAndGet(cb: (T) ⇒ T): T

    Permalink

    Abstracts over compareAndSet.

    Abstracts over compareAndSet. You specify a transformation by specifying a callback to be executed, a callback that transforms the current value. This method will loop until it will succeed in replacing the current value with the one produced by the given callback.

    Note that the callback will be executed on each iteration of the loop, so it can be called multiple times - don't do destructive I/O or operations that mutate global state in it.

    cb

    is a callback that receives the current value as input and returns the update which is the new value that should be persisted

    returns

    whatever the update is, after the operation succeeds

    Definition Classes
    Atomic
  25. final macro def update(value: T): Unit

    Permalink

    Alias for set.

    Alias for set. Updates the current value.

    value

    will be the new value returned by get()

    Definition Classes
    Atomic
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Atomic[T]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped