在应用程序中创建管道通信
PipedInputStream,PipedOutputStream
作用:完成线程之间的通信
可以实现各个程序模块之间松耦合通信。
PipedWrite和PipedReader同上。只是专用于字符文本通信。
DEMO:
//输出管道,发送者线程类
public class Sender extends Thread{
private PipedOutputStream out=new PipedOutputStream();
public PipedOutputStream getOutputStream(){
return out;
}
//覆盖Thread的run方法
public void run(){
String strInfo=new String("Hello,Receiver");
try{
out.write(strInfo.getBytes());
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
//输入管道,接收线程类
public class Receiver extends Thread{
private PipedInputStream in=new PipedInputStream();
public PipedInputStream getInputStream(){
return in;
}
//覆盖Thread的run方法
public void run(){
byte[] buf=new byte[1024];
try{
in.read(buf);
System.out.println("You Info:"+new String(buf,0,len));
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
//启动类
public class PipedStreamTest{
public static void main(String[] args) throws Exception{
Sender t1=New Sender();
Receiver t2=new Receiver();
PipedOutputStream out=t1.getOutputStream();
PipedInputStream in=t2.getInputStream();
out.connect(in);//管道连接
t1.start();
t2.start();
}
}