Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/basvandijk/concurrent-extra
Extra concurrency primitives
https://github.com/basvandijk/concurrent-extra
concurrency haskell
Last synced: 10 days ago
JSON representation
Extra concurrency primitives
- Host: GitHub
- URL: https://github.com/basvandijk/concurrent-extra
- Owner: basvandijk
- License: other
- Created: 2011-04-17T14:25:16.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2018-11-25T17:57:15.000Z (almost 6 years ago)
- Last Synced: 2024-10-19T20:36:56.850Z (18 days ago)
- Topics: concurrency, haskell
- Language: Haskell
- Homepage:
- Size: 165 KB
- Stars: 17
- Watchers: 6
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
README
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).