concurrent-extra
concurrent-extra copied to clipboard
Extra concurrency primitives
The concurrent-extra
package offers among other things the following
selection of synchronisation primitives:
-
Broadcast
: Wake multiple threads by broadcasting a value. -
Event
: Wake multiple threads by signalling an event. -
Lock
: Enforce exclusive access to a resource. Also known as a binary semaphore or mutex. The package additionally provides an alternative that works in theSTM
monad. -
RLock
: A lock which can be acquired multiple times by the same thread. Also known as a reentrant mutex. -
ReadWriteLock
: Multiple-reader, single-writer locks. Used to protect shared resources which may be concurrently read, but only sequentially written. -
ReadWriteVar
: Concurrent read, sequential write variables.
Please consult the API documentation of the individual modules for more detailed information.
This package was inspired by the concurrency libraries of Java and Python.