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
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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
TRefand 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[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )