public abstract class AltingChannelInput<T> extends Guard implements ChannelInput<T>
Guard and ChannelInput
to enable a process to choose between many object input (and other) events.
A reading-end, obtained from a one-one or any-one channel by invoking its in() method, will extend this abstract class.
Guard and ChannelInput
to enable a process
to choose between many object input (and other) events. The methods inherited from
Guard are of no concern to users of this package.
import org.jcsp.lang.*;
public class AltingExample implements CSProcess {
private final AltingChannelInput in0, in1;
public AltingExample (final AltingChannelInput in0,
final AltingChannelInput in1) {
this.in0 = in0;
this.in1 = in1;
}
public void run () {
final Guard[] altChans = {in0, in1};
final Alternative alt = new Alternative (altChans);
while (true) {
switch (alt.select ()) {
case 0:
System.out.println ("in0 read " + in0.read ());
break;
case 1:
System.out.println ("in1 read " + in1.read ());
break;
}
}
}
}
Guard,
Alternative| Constructor and Description |
|---|
AltingChannelInput() |
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
pending()
Returns whether there is data pending on this channel.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitendRead, read, startReadpoisonCopyright © 1996–2019. All rights reserved.