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
- Alphabetic
- By Inheritance
- AtomicNumber
- Atomic
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new AtomicNumber()
Abstract Value Members
-
abstract
def
add(v: T): Unit
Adds to the atomic number the given value.
-
abstract
def
addAndGet(v: T): T
Adds to the atomic number and returns the result.
-
abstract
def
compareAndSet(expect: T, update: T): Boolean
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
-
abstract
def
decrement(v: Int = 1): Unit
Decrements the atomic number with the given integer.
-
abstract
def
decrementAndGet(v: Int = 1): T
Decrements the atomic number and returns the result.
-
abstract
def
get: T
Get the current value persisted by this Atomic.
Get the current value persisted by this Atomic.
- Definition Classes
- Atomic
-
abstract
def
getAndAdd(v: T): T
Adds to the the atomic number and returns the value before the update.
-
abstract
def
getAndDecrement(v: Int = 1): T
Decrements the atomic number and returns the value before the update.
-
abstract
def
getAndIncrement(v: Int = 1): T
Increments the atomic number and returns the value before the update.
-
abstract
def
getAndSet(update: T): T
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
-
abstract
def
getAndSubtract(v: T): T
Subtracts from the atomic number and returns the value before the update.
-
abstract
def
increment(v: Int = 1): Unit
Increment with the given integer
-
abstract
def
incrementAndGet(v: Int = 1): T
Increments the atomic number and returns the result.
-
abstract
def
lazySet(update: T): Unit
Eventually sets to the given value.
Eventually sets to the given value. Has weaker visibility guarantees than the normal
set()
.- Definition Classes
- Atomic
-
abstract
def
set(update: T): Unit
Updates the current value.
-
abstract
def
subtract(v: T): Unit
Subtracts from the atomic number the given value.
-
abstract
def
subtractAndGet(v: T): T
Subtracts from the atomic number and returns the result.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final macro
def
+=(value: T): Unit
Subtracts from the atomic number the given value.
Subtracts from the atomic number the given value. Alias for
subtract
. -
final macro
def
-=(value: T): Unit
Adds to the atomic number the given value.
Adds to the atomic number the given value. Alias for
add
. -
final macro
def
:=(value: T): Unit
Alias for set.
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final macro
def
apply(): T
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final macro
def
getAndTransform(cb: (T) ⇒ T): T
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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final macro
def
transform(cb: (T) ⇒ T): Unit
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
-
final macro
def
transformAndExtract[U](cb: (T) ⇒ (U, T)): U
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
-
final macro
def
transformAndGet(cb: (T) ⇒ T): T
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
-
final macro
def
update(value: T): Unit
Alias for set.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomic
types, as alternative tojava.util.concurrent.atomic
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.types implements type-class shims, to be translated to type-classes provided by libraries such as Cats or Scalaz.
monix.cats is the optional integration with the Cats library, providing translations for the types described in
monix.types
.monix.scalaz is the optional integration with the Scalaz library, providing translations for the types described in
monix.types
.