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, wait
endRead, read, startRead
poison
Copyright © 1996–2020. All rights reserved.