public final class Plex2
Fair multiplexes two Object streams into one.
Input Channels | ||
---|---|---|
in0, in1 | java.lang.Object | The input streams. |
Output Channels | ||
out | java.lang.Object | The multiplexed output stream. |
import org.jcsp.lang.*; import org.jcsp.plugNplay.*; public final class Plex2Example { public static void main (String[] argv) { final One2OneChannel[] a = Channel.createOne2One (2); final One2OneChannel[] b = Channel.createOne2One (2); final One2OneChannel c = Channel.createOne2One (); new Parallel ( new CSProcess[] { new Fibonacci (a[0].out ()), new Squares (a[1].out ()), new Sign ("Fibonacci ", a[0].in (), b[0].out ()), new Sign (" Squares ", a[1].in (), b[1].out ()), new Plex2 (b[0].in (), b[1].in (), c.out ()), new Printer (c.in (), "", "\n") } ).run (); } }
public void run () { AltingChannelInput[] input = {in0, in1}; // in0 and in1 are the input channels Alternative alt = new Alternative (input); while (true) { out.write (input[alt.fairSelect ()].read ()); // out is the output channel } }
Constructor and description |
---|
Plex2
(AltingChannelInput in0, AltingChannelInput in1, ChannelOutput out) Construct a new Plex2 process with the input channels in0 and in1 and the output channel out. |
Construct a new Plex2 process with the input channels in0 and in1 and the output channel out. The ordering of the input channels makes no difference to the behaviour of this process.
in0
- an input channelin1
- an input channelout
- the output channelJCSP for Java 1.8 generated 14-10-2016 by Jon Kerridge, Edinburgh Napier University - j dot kerridge at napier dot ac dot uk