object Ref
contains factory methods that allocate an STM-managed memory
location and return a Ref
instance that provides access to that location.
object Ref
contains factory methods that allocate an STM-managed memory
location and return a Ref
instance that provides access to that location.
- Authors
Nathan Bronson
- Companion
- class
Type members
Classlikes
Ref.View
provides access to the contents of a Ref
without requiring
that an implicit InTxn
be available. When called from within the
dynamic scope of a transaction, View
's methods operate as part of that
transaction. When there is no transaction active View
's methods are
still atomic, but only for the duration of the method call.
Ref.View
provides access to the contents of a Ref
without requiring
that an implicit InTxn
be available. When called from within the
dynamic scope of a transaction, View
's methods operate as part of that
transaction. When there is no transaction active View
's methods are
still atomic, but only for the duration of the method call.
A mental model of View
is that view.foo(args)
acts like
atomic { implicit t => view.ref.foo(args) }
.
Value members
Inherited methods
Returns a Ref
instance that manages a newly allocated memory location,
initializing it to hold initialValue
. The returned Ref
is not part
of any transaction's read or write set.
Returns a Ref
instance that manages a newly allocated memory location,
initializing it to hold initialValue
. The returned Ref
is not part
of any transaction's read or write set.
Example:
val x = Ref("initial") // creates a Ref[String]
val list1 = Ref(Nil : List[String]) // creates a Ref[List[String]]
val list2 = Ref[List[String]](Nil) // creates a Ref[List[String]]
- Inherited from
- RefCompanion
Returns a Ref
instance that manages a newly allocated memory location
holding values of type A
. If you have an initial value v0
available,
Ref(v0)
should be preferred.
Returns a Ref
instance that manages a newly allocated memory location
holding values of type A
. If you have an initial value v0
available,
Ref(v0)
should be preferred.
- Inherited from
- RefCompanion