当前位置: 代码迷 >> J2SE >> 关于线程间通讯的例子(PipedStream)请高手帮忙看看
  详细解决方案

关于线程间通讯的例子(PipedStream)请高手帮忙看看

热度:233   发布时间:2016-04-24 00:20:52.0
关于线程间通信的例子(PipedStream)请高手帮忙看看
Java code
import java.io.*;public class PipeStreamTest {    public static void  main(String[] args)    {        try{            Thread t1=new Sender();            Thread t2=new Receiver();            PipedOutputStream out=t1.getOutputStream();            PipedOutputStream in=t2.getInputStream();            out.connect(in);            t1.start();            t2.start();        }        catch(Exception e)        {            System.out.println(e.getMessage());        }            }    }class Sender extends Thread{    private PipedOutputStream out=new PipedOutputStream();    public PipedOutputStream getOutputStream()    {        return out;    }    public void run()    {        String s=new String("Hello,receiver ,how are you.");        try        {            out.write(s.getBytes());            out.close();        }        catch(Exception e)        {            System.out.println(e.getMessage());        }    }}class Receiver  extends  Thread{    private PipedInputStream in=new PipedInputStream();    public PipedInputStream getInputStream()    {        return in;    }    public void run()    {        String s=null;        byte[] buff=new byte[1024];        try        {            int len=in.read(buff);            s=new String(buff,1,len);            System.out.println("the following message comes from sender:\n"+s);            in.close();        }        catch(Exception e)        {            System.out.println(e.getMessage());        }    }}

这是《java就业培训教程》上的例子 我怎么编译通不过啊 ~~~~

------解决方案--------------------
Java code
        Thread t1=new Sender();            Thread t2=new Receiver();            PipedOutputStream out=t1.getOutputStream();            PipedOutputStream in=t2.getInputStream();            out.connect(in);            t1.start();            t2.start();