In some special cases it is possible to detect if a STM transaction blocks indefinitely so we can abort here.
Low level stm datastructure which can be used to efficiently implement other datastructures like Map/Set on top.
(extensions in package arrow.fx.stm.internal) |
A TArray is an array of transactional variables.
A TMap is a concurrent transactional implementation of a key value hashmap.
A TMVar is a mutable reference that can either be empty or hold a value.
A TQueue is a transactional unbounded queue which can be written to and read from concurrently.
TSemaphore is the transactional Semaphore.
A TSet is a concurrent transactional implementation of a hashset.
A TVar is a mutable reference that can only be (safely) accessed inside a STM transaction.
Do you like Arrow?
✖