blob: e1584be226f7fdf2752494e823b7590e59420543 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "">
<maintainer type="project">
<name>Gentoo Haskell</name>
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 and
<remote-id type="github">basvandijk/concurrent-extra</remote-id>