读书人

关于线程间通讯的例子(PipedStream)

发布时间: 2012-09-07 10:38:15 作者: rapoo

关于线程间通信的例子(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(); 

读书人网 >J2SE开发

热点推荐