1b4a13288e
Extra concurrency and synchronisation primitives. Needed by an upcoming update of databases/hs-redis. OK kili@
23 lines
812 B
Plaintext
23 lines
812 B
Plaintext
This 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 the STM 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.
|
|
|
|
This package was inspired by the concurrency libraries of Java and
|
|
Python.
|