FileDocCategorySizeDatePackage
PipedStreamExample.javaAPI DocExample1462Thu Jan 08 22:45:38 GMT 1998dcj.examples

PipedStreamExample

public class PipedStreamExample extends Object
Source code from "Java Distributed Computing", by Jim Farley. Class: PipedStreamExample Example: 2-6 Description: An example showing how to create two threads connected by piped streams.

Fields Summary
Constructors Summary
Methods Summary
public static voidmain(java.lang.String[] argv)

    // Make two pairs of connected piped streams
    PipedInputStream pinc = null;
    PipedInputStream pins = null;
    PipedOutputStream poutc = null;
    PipedOutputStream pouts = null;

    try {
      pinc = new PipedInputStream();
      pins = new PipedInputStream();
      poutc = new PipedOutputStream(pins);
      pouts = new PipedOutputStream(pinc);
    }
    catch (IOException e) {
      System.out.println("PipedStreamExample: Failed to build piped streams.");
      System.exit(1);
    }

    // Make the client and server threads, connected by the streams
    PipedClient pc = new PipedClient(pinc, poutc);
    PipedServer ps = new PipedServer(pins, pouts);

    // Start the threads
    System.out.println("Starting server...");
    ps.start();
    System.out.println("Starting client...");
    pc.start();

    // Wait for threads to end
    try {
      ps.join();
      pc.join();
    }
    catch (InterruptedException e) {}

    System.exit(0);