代码如下
///////////////////////////////////////import java.io.*;
public class PipeTest1
{
public static void main(String [] args) throws IOException
{
String sTemp = null;
PipedOutputStream pout = new PipedOutputStream();
PipedInputStream pin = new PipedInputStream(pout);
DataOutputStream out = new DataOutputStream(pout);
Consumer cons = new Consumer(pin);
cons.start(); while(true)
{
  System.out.print("input>");     
      BufferedReader stdin  = new BufferedReader(new InputStreamReader(System.in));
      try
      {
        sTemp = stdin.readLine();
      }
      catch(IOException ie)
      {
        System.err.println("IO error!");
      }
      if(sTemp.equalsIgnoreCase("quit"))
      {
       System.exit(0);
      }
      out.writeBytes(sTemp);
      out.flush();
    }
}
}
class Consumer extends Thread
{
private DataInputStream in;
public Consumer(InputStream is)
{
in = new DataInputStream(is);
}
public void run()
{
byte [] b = new byte[128];
try
{
in.read(b);
System.out.println(new String(b));
}
catch(IOException ie){}
}
}////////////////////////////////////我的目的是在主线程输入,
利用管道传送到Consumer线程,
在Consumer线程输出.
但是输入两次之后就出现错误Exception in thread "main" java.io.IOException: Read end dead
        at java.io.PipedInputStream.receive(PipedInputStream.java:138)
        at java.io.PipedOutputStream.write(PipedOutputStream.java:103)
        at java.io.DataOutputStream.writeBytes(DataOutputStream.java:254)
        at PipeTest1.main(pipetest1.java:29)请问是什么问题呢?