public abstract class AltingChannelOutput<T> extends Guard implements ChannelOutput<T>
Guard and ChannelOutput
to enable a process
to choose between many integer output (and other) events.
A writing-end, obtained only from a symmetric
channel by invoking its out() method, will implement this interface.
Guard and ChannelOutput
to enable a process
to choose between many integer output (and other) events. The methods inherited from
Guard are of no concern to users of this package.
import org.jcsp.lang.*;
public class AltingOutputExample implements CSProcess {
private final AltingChannelOutput out0, out1;
public AltingOutputExample (final AltingChannelOutput out0,
final AltingChannelOutput out1) {
this.out0 = out0;
this.out1 = out1;
}
public void run () {
final Guard[] altChans = {out0, out1};
final Alternative alt = new Alternative (altChans);
while (true) {
switch (alt.select ()) {
case 0:
out0.write (new Integer (0));
System.out.println ("out0 written");
break;
case 1:
out1.write (new Integer (1));
System.out.println ("out1 written");
break;
}
}
}
}
Guard,
Alternative,
One2OneChannelSymmetric,
AltingChannelOutputInt| Constructor and Description |
|---|
AltingChannelOutput() |
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
pending()
Returns whether the receiver is committed to read from this channel.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitwritepoisonCopyright © 1996–2019. All rights reserved.