package concurrent
- Alphabetic
- Public
- All
Type Members
-
trait
Map[A, B] extends mutable.Map[A, B]
A template trait for mutable maps that allow concurrent access.
A template trait for mutable maps that allow concurrent access.
This is a base trait for all Scala concurrent map implementations. It provides all of the methods a
Mapdoes, with the difference that all the changes are atomic. It also describes methods specific to concurrent maps.Note: The concurrent maps do not accept
nullfor keys or values.- A
the key type of the map
- B
the value type of the map
- Since
2.8
- See also
"Scala's Collection Library overview" section on
Concurrent Mapsfor more information.
-
final
class
TrieMap[K, V] extends Map[K, V] with mutable.MapLike[K, V, TrieMap[K, V]] with CustomParallelizable[(K, V), ParTrieMap[K, V]] with Serializable
A concurrent hash-trie or TrieMap is a concurrent thread-safe lock-free implementation of a hash array mapped trie.
A concurrent hash-trie or TrieMap is a concurrent thread-safe lock-free implementation of a hash array mapped trie. It is used to implement the concurrent map abstraction. It has particularly scalable concurrent insert and remove operations and is memory-efficient. It supports O(1), atomic, lock-free snapshots which are used to implement linearizable lock-free size, iterator and clear operations. The cost of evaluating the (lazy) snapshot is distributed across subsequent updates, thus making snapshot evaluation horizontally scalable.
For details, see: http://lampwww.epfl.ch/~prokopec/ctries-snapshot.pdf
- Annotations
- @SerialVersionUID()
- Since
2.10
Value Members
- object TrieMap extends MutableMapFactory[TrieMap] with Serializable
This is the documentation for the Scala standard library.
Package structure
The scala package contains core types like
Int,Float,ArrayorOptionwhich are accessible in all Scala compilation units without explicit qualification or imports.Notable packages include:
scala.collectionand its sub-packages contain Scala's collections frameworkscala.collection.immutable- Immutable, sequential data-structures such asVector,List,Range,HashMaporHashSetscala.collection.mutable- Mutable, sequential data-structures such asArrayBuffer,StringBuilder,HashMaporHashSetscala.collection.concurrent- Mutable, concurrent data-structures such asTrieMapscala.collection.parallel.immutable- Immutable, parallel data-structures such asParVector,ParRange,ParHashMaporParHashSetscala.collection.parallel.mutable- Mutable, parallel data-structures such asParArray,ParHashMap,ParTrieMaporParHashSetscala.concurrent- Primitives for concurrent programming such asFuturesandPromisesscala.io- Input and output operationsscala.math- Basic math functions and additional numeric types likeBigIntandBigDecimalscala.sys- Interaction with other processes and the operating systemscala.util.matching- Regular expressionsOther packages exist. See the complete list on the right.
Additional parts of the standard library are shipped as separate libraries. These include:
scala.reflect- Scala's reflection API (scala-reflect.jar)scala.xml- XML parsing, manipulation, and serialization (scala-xml.jar)scala.swing- A convenient wrapper around Java's GUI framework called Swing (scala-swing.jar)scala.util.parsing- Parser combinators (scala-parser-combinators.jar)Automatic imports
Identifiers in the scala package and the
scala.Predefobject are always in scope by default.Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example,
Listis an alias forscala.collection.immutable.List.Other aliases refer to classes provided by the underlying platform. For example, on the JVM,
Stringis an alias forjava.lang.String.