final class TRef[A] extends Serializable
A TRef
is a purely functional description of a mutable reference that can
be modified as part of a transactional effect. The fundamental operations of
a TRef
are set
and get
. set
transactionally sets the reference to a
new value. get
gets the current value of the reference.
NOTE: While TRef
provides the transactional equivalent of a mutable
reference, the value inside the TRef
should be immutable. For performance
reasons TRef
is implemented in terms of compare and swap operations rather
than synchronization. These operations are not safe for mutable values that
do not support concurrent access.
- Self Type
- TRef[A]
- Alphabetic
- By Inheritance
- TRef
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TRef(versioned: Versioned[A], todo: AtomicReference[Map[TxnId, Todo]])
- Annotations
- @deprecated
- Deprecated
(Since version 2.1.8) kept for binary compatibility only
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def get: USTM[A]
Retrieves the value of the
TRef
. - def getAndSet(a: A): USTM[A]
Sets the value of the
TRef
and returns the old value. - def getAndUpdate(f: (A) => A): USTM[A]
Updates the value of the variable and returns the old value.
- def getAndUpdateSome(f: PartialFunction[A, A]): USTM[A]
Updates some values of the variable but leaves others alone, returning the old value.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- TRef → AnyRef → Any
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def modify[B](f: (A) => (B, A)): USTM[B]
Updates the value of the variable, returning a function of the specified value.
- def modifySome[B](default: B)(f: PartialFunction[A, (B, A)]): USTM[B]
Updates the value of the variable, returning a function of the specified value.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def set(a: A): USTM[Unit]
Sets the value of the
TRef
. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- TRef → AnyRef → Any
- def update(f: (A) => A): USTM[Unit]
Updates the value of the variable.
- def updateAndGet(f: (A) => A): USTM[A]
Updates the value of the variable and returns the new value.
- def updateSome(f: PartialFunction[A, A]): USTM[Unit]
Updates some values of the variable but leaves others alone.
- def updateSomeAndGet(f: PartialFunction[A, A]): USTM[A]
Updates some values of the variable but leaves others alone, returning the new value.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()