Package org.jcsp.lang
Class AltingChannelOutput
- java.lang.Object
-
- org.jcsp.lang.Guard
-
- org.jcsp.lang.AltingChannelOutput
-
- All Implemented Interfaces:
ChannelOutput
,Poisonable
public abstract class AltingChannelOutput extends Guard implements ChannelOutput
This extendsGuard
andChannelOutput
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.Description
AltingChannelOutput extendsGuard
andChannelOutput
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.Example
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; } } } }
- Author:
- P.H. Welch
- See Also:
Guard
,Alternative
,One2OneChannelSymmetric
,AltingChannelOutputInt
-
-
Constructor Summary
Constructors Constructor Description AltingChannelOutput()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract boolean
pending()
Returns whether the receiver is committed to read from this channel.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jcsp.lang.ChannelOutput
write
-
Methods inherited from interface org.jcsp.lang.Poisonable
poison
-
-