|
| Control.Concurrent.TxEvent.TriSChan.Ver4 | | Portability | non-portable (requires TxEvent) | | Stability | experimental | | Maintainer | mfluet@acm.org |
|
|
|
|
|
| Description |
Synchronous 3-Way Channels.
This library provides synchronous 3-way channels, a generalization
of SChan.
This library improves upon
Control.Concurrent.TxEvent.TriSChan.Ver3, by using a helper thread
to limit the possible interleavings of communications. The
downside is that newTriSChan must be an IO action.
|
|
| Synopsis |
|
|
|
|
| Synchronous 3-way channels
|
|
| data TriSChan a |
| An TriSChan is a synchronous 3-way channel, used for communication
between concurrent threads. Message passing is synchronous: 3
distinct threads must be ready to communicate; each thread sends one
value and receives 2 values.
|
|
|
| newTriSChan :: IO (TriSChan a) |
| Create a new 3-way synchronous channel.
|
|
| swapEvt :: TriSChan a -> a -> Evt (a, a) |
| Send a value on the channel and receive 2 values on the channel.
|
|
| Produced by Haddock version 0.7 |