Control.Concurrent.QSemN

base-4.3.1.0: Basic libraries

Portability | non-portable (concurrency)
Stability | experimental
Maintainer | libraries@haskell.org

Control.Concurrent.QSemN

Contents

- General Quantity Semaphores

Description

Quantity semaphores in which each thread may wait for an arbitrary "amount".

Synopsis

- data QSemN
- newQSemN :: Int -> IO QSemN
- waitQSemN :: QSemN -> Int -> IO ()
- signalQSemN :: QSemN -> Int -> IO ()

# General Quantity Semaphores

data QSemN

A `QSemN` is a quantity semaphore, in which the available "quantity" may be signalled or waited for in arbitrary amounts.

Instances

Typeable QSemN |

newQSemN :: Int -> IO QSemN

Build a new `QSemN` with a supplied initial quantity. The initial quantity must be at least 0.

waitQSemN :: QSemN -> Int -> IO ()

Wait for the specified quantity to become available

signalQSemN :: QSemN -> Int -> IO ()

Signal that a given quantity is now available from the `QSemN`.