final class AtomicInt extends AtomicNumber[Int]
Atomic references wrapping Int
values.
Note that the equality test in compareAndSet
is value based,
since Int
is a primitive.
- Source
- AtomicInt.scala
- Alphabetic
- By Inheritance
- AtomicInt
- AtomicNumber
- Atomic
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final macro def +=(value: Int): Unit
Subtracts from the atomic number the given value.
Subtracts from the atomic number the given value. Alias for
subtract
.- Definition Classes
- AtomicNumber
- final macro def -=(value: Int): Unit
Adds to the atomic number the given value.
Adds to the atomic number the given value. Alias for
add
.- Definition Classes
- AtomicNumber
- final macro def :=(value: Int): Unit
Alias for set.
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def add(v: Int): Unit
Adds to the atomic number the given value.
Adds to the atomic number the given value.
- Definition Classes
- AtomicInt → AtomicNumber
- def addAndGet(v: Int): Int
Adds to the atomic number and returns the result.
Adds to the atomic number and returns the result.
- Definition Classes
- AtomicInt → AtomicNumber
- final macro def apply(): Int
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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def compareAndSet(expect: Int, update: Int): 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
- def decrement(v: Int = 1): Unit
Decrements the atomic number with the given integer.
Decrements the atomic number with the given integer.
- Definition Classes
- AtomicInt → AtomicNumber
- def decrementAndGet(v: Int = 1): Int
Decrements the atomic number and returns the result.
Decrements the atomic number and returns the result.
- Definition Classes
- AtomicInt → AtomicNumber
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def get(): Int
Get the current value persisted by this Atomic.
- def getAndAdd(v: Int): Int
Adds to the the atomic number and returns the value before the update.
Adds to the the atomic number and returns the value before the update.
- Definition Classes
- AtomicInt → AtomicNumber
- def getAndDecrement(v: Int = 1): Int
Decrements the atomic number and returns the value before the update.
Decrements the atomic number and returns the value before the update.
- Definition Classes
- AtomicInt → AtomicNumber
- def getAndIncrement(v: Int = 1): Int
Increments the atomic number and returns the value before the update.
Increments the atomic number and returns the value before the update.
- Definition Classes
- AtomicInt → AtomicNumber
- def getAndSet(update: Int): Int
Sets the persisted value to
update
and returns the old value that was in place. - def getAndSubtract(v: Int): Int
Subtracts from the atomic number and returns the value before the update.
Subtracts from the atomic number and returns the value before the update.
- Definition Classes
- AtomicInt → AtomicNumber
- final macro def getAndTransform(cb: (Int) => Int): Int
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[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def increment(v: Int = 1): Unit
Increment with the given integer
Increment with the given integer
- Definition Classes
- AtomicInt → AtomicNumber
- def incrementAndGet(v: Int = 1): Int
Increments the atomic number and returns the result.
Increments the atomic number and returns the result.
- Definition Classes
- AtomicInt → AtomicNumber
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def lazySet(update: Int): Unit
Eventually sets to the given value.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def set(update: Int): Unit
Updates the current value.
- def subtract(v: Int): Unit
Subtracts from the atomic number the given value.
Subtracts from the atomic number the given value.
- Definition Classes
- AtomicInt → AtomicNumber
- def subtractAndGet(v: Int): Int
Subtracts from the atomic number and returns the result.
Subtracts from the atomic number and returns the result.
- Definition Classes
- AtomicInt → AtomicNumber
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AtomicInt → AnyRef → Any
- final macro def transform(cb: (Int) => Int): 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
- macro def transformAndExtract[U](cb: (Int) => (U, Int)): 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
- macro def transformAndGet(cb: (Int) => Int): Int
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: Int): Unit
Alias for set.
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
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.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.tail exposes Iterant for purely functional pull based streaming:
Batch
andBatchCursor
, the alternatives to Scala'sIterable
andIterator
respectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.