public final class Plex extends java.lang.Object implements CSProcess
Input Channels | ||
---|---|---|
in[] | 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 class PlexExample { public static void main (String[] argv) { final One2OneChannel[] a = Channel.one2oneArray (3); final One2OneChannel[] b = Channel.one2oneArray (3); final One2OneChannel c = Channel.one2one (); new Parallel ( new CSProcess[] { new Numbers (a[0].out ()), new Fibonacci (a[1].out ()), new Squares (a[2].out ()), new Sign ("Numbers ", a[0].in (), b[0].out ()), new Sign (" Fibonacci ", a[1].in (), b[1].out ()), new Sign (" Squares ", a[2].in (), b[2].out ()), new Plex (Channel.getInputArray (b), c.out ()), new Printer (c.in (), "", "\n") } ).run (); } }
public void run () { Alternative alt = new Alternative (in); // in is the input channel array while (true) { out.write (in[alt.fairSelect ()].read ()); // out is the output channel } }
Constructor and Description |
---|
Plex(AltingChannelInput[] in,
ChannelOutput out)
Construct a new Plex process with input channels
in and output channel out.
|
Modifier and Type | Method and Description |
---|---|
void |
run()
The main body of this process.
|
public Plex(AltingChannelInput[] in, ChannelOutput out)
in
- the input channelsout
- the output channelCopyright © 1996–2018. All rights reserved.