|
|
|
|
|
Description |
A pure specification of basic concurrency operations.
|
|
Synopsis |
|
|
|
|
The IOConc monad
|
|
|
Instances | |
|
|
|
The runIOConc function runs a concurrent computation with a given scheduler.
If a deadlock occurs, Nothing is returned.
|
|
Supported functions
|
|
|
Instances | |
|
|
|
An MVar is a shared, mutable variable.
| Instances | |
|
|
|
The newEmptyMVar function creates a new MVar that is initially empty.
|
|
|
The takeMVar function removes the value stored in an
MVar. If the MVar is empty, the thread is blocked.
|
|
|
The putMVar function fills an MVar with a new value. If the
MVar is not empty, the thread is blocked.
|
|
|
The forkIO function forks off a new thread.
|
|
Schedulers
|
|
|
A scheduler consists of a function that, given the number of
threads, returns the ThreadId of the next scheduled thread,
together with a new scheduler.
| Constructors | |
|
|
|
Given a stream of integers, streamSched builds a
scheduler. This is especially useful if you use QuickCheck and
generate a random stream; the resulting random scheduler will
hopefully cover a large number of interleavings.
|
|
|
A simple round-robin scheduler.
|
|
Produced by Haddock version 2.6.0 |