concurrent-extra: 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.
Besides these synchronisation primitives the package also provides:
Thread.Delay
: Arbitrarily long thread delays.Timeout
: Wait arbitrarily long for an IO computation to finish.
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.
Modules
- Control
- Concurrent
- Control.Concurrent.Broadcast
- Control.Concurrent.Event
- Control.Concurrent.Lock
- Control.Concurrent.RLock
- Control.Concurrent.ReadWriteLock
- Control.Concurrent.ReadWriteVar
- STM
- Control.Concurrent.STM.Lock
- Thread
- Control.Concurrent.Thread.Delay
- Control.Concurrent.Timeout
- Concurrent
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
test | Build the testing suite | Disabled |
hpc | Enable program coverage on test executable | Disabled |
nolib | Don't build the library | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- concurrent-extra-0.6.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1, 0.1.0.1, 0.2, 0.3, 0.3.1, 0.4, 0.5, 0.5.1, 0.6, 0.6.0.1, 0.7, 0.7.0.1, 0.7.0.2, 0.7.0.3, 0.7.0.4, 0.7.0.5, 0.7.0.6, 0.7.0.7, 0.7.0.8, 0.7.0.9, 0.7.0.10, 0.7.0.11, 0.7.0.12 |
---|---|
Dependencies | base (>=3 && <4.4), base-unicode-symbols (>=0.1.1 && <0.3), HUnit (>=1.2.2 && <1.3), QuickCheck (>=2.1.0 && <2.2), stm (>=2.1.2.1 && <2.3), test-framework (>=0.2.4 && <0.4), test-framework-hunit (>=0.2.4 && <0.3), test-framework-quickcheck2 (>=0.2.4 && <0.3) [details] |
License | BSD-3-Clause |
Copyright | (c) 2010 Bas van Dijk & Roel van Dijk |
Author | Bas van Dijk <v.dijk.bas@gmail.com> Roel van Dijk <vandijk.roel@gmail.com> |
Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> Roel van Dijk <vandijk.roel@gmail.com> |
Category | Concurrency |
Source repo | head: darcs get http://code.haskell.org/concurrent-extra |
Uploaded | by BasVanDijk at 2010-10-21T21:12:05Z |
Distributions | Arch:0.7.0.12, Fedora:0.7.0.12, LTSHaskell:0.7.0.12, NixOS:0.7.0.12, Stackage:0.7.0.12 |
Reverse Dependencies | 27 direct, 125 indirect [details] |
Executables | test-concurrent-extra |
Downloads | 34159 total (32 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2016-12-28 [all 7 reports] |