concurrent-extra: Extra concurrency primitives

[ bsd3, concurrency, library ] [ Propose Tags ]

The concurrent-extra package offers among other things the following selection of synchronisation primitives:

  • Lock: Enforce exclusive access to a resource. Also known as a binary semaphore or mutex.

  • RLock: A lock which can be acquired multiple times by the same thread. Also known as a reentrant mutex.

  • Broadcast: Wake multiple threads by broadcasting a value.

  • Event: Wake multiple threads by signalling an event.

  • 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.

The package also provides STM versions of Broadcast and Event.

Besides these synchronisation primitives the package provides:

  • Thread: Threads extended with the ability to wait for their termination.

  • 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.

Flags

Automatic Flags
NameDescriptionDefault
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

Maintainer's Corner

Package maintainers

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.3), base-unicode-symbols (>=0.1.1 && <0.2), HUnit (>=1.2.2 && <1.3), QuickCheck (>=2.1.0 && <2.2), stm (>=2.1.1 && <2.2), test-framework (>=0.2.4 && <0.3), 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-02-24T21:57:13Z
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, 122 indirect [details]
Executables test-concurrent-extra
Downloads 32813 total (108 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]