package impl
- Alphabetic
- Public
- All
Type Members
-
trait
RefFactory
extends AnyRef
RefFactory
is responsible for creating concreteRef
instances. -
trait
STMImpl
extends RefFactory with TxnContext with TxnExecutor
STMImpl
gathers all of the functionality required to plug an STM implementation intoscala.concurrent.stm
.STMImpl
gathers all of the functionality required to plug an STM implementation intoscala.concurrent.stm
. See theSTMImpl
companion object for information on controlling whichSTMImpl
is selected at run time. -
trait
TxnContext
extends AnyRef
TxnContext
captures the implementation-specific functionality of locating theInTxn
dynamically bound to the currentThread
.TxnContext
captures the implementation-specific functionality of locating theInTxn
dynamically bound to the currentThread
. Users should use the lookup methods provided byobject Txn
.
Value Members
-
object
STMImpl
STMImpl
gathers all of the functionality required to plug an STM implementation intoscala.concurrent.stm
.STMImpl
gathers all of the functionality required to plug an STM implementation intoscala.concurrent.stm
. Only one implementation can be selected, becauseRef
s and atomic blocks from different STM implementations are not compatible.STMImpl.instance
returns theSTMImpl
instance that has been selected for this program execution.There are two ways to explicitly select the
STMImpl
instance:- set the JVM system property "scala.stm.impl" to the name of a class
that implements
STMImpl
; or
2. arrange for
STMImpl.select
orSTMImpl.trySelect
to be called before anyRef
s are constructed and before any atomic blocks are executed.Setting the JVM system property "scala.stm.impl" is equivalent to making a call to
STMImpl.select(System.getProperty("scala.stm.impl"))
before any otherSTMImpl
selections.If there is no explicitly selected
STMImpl
instance and the classpath contains a classscala.concurrent.stm.impl.DefaultFactory
that extendsscala.concurrent.stm.impl.STMImpl.Factory
, then an instance of that class will be instantiated and used to generate theSTMImpl
instance. ScalaSTM implementations are encouraged to implementDefaultFactory
so that if a user includes the implementation's JAR file, it will be automatically selected.If no explicit selection has been made and there is no definition of
scala.concurrent.stm.impl.DefaultFactory
present in the classpath, then ScalaSTM will fall back to the reference implementation "scala.concurrent.stm.ccstm.CCSTM". - set the JVM system property "scala.stm.impl" to the name of a class
that implements