File: README.markdown

package info (click to toggle)
haskell-concurrent-extra 0.7.0.12-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 184 kB
  • sloc: haskell: 1,040; makefile: 6
file content (26 lines) | stat: -rw-r--r-- 1,053 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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 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.

Please consult the API documentation of the individual modules for
more detailed information.

This package was inspired by the concurrency libraries of
[Java](http://download.oracle.com/javase/6/docs/technotes/guides/concurrency/index.html)
and [Python](http://docs.python.org/py3k/library/threading.html).