程序11-5
class myWriter extends Thread{
private PipedOutputStream outStream; //将数据输出
private String messages[] = { "Monday","Tuesday ","Wednsday",
"Thursday","Friday","Saturday","Sunday" };
public myWriter(PipedOutputStream o){
outStream = o;
}
public void run(){
PrintStream p = new PrintStream( outStream );
for( int i = 0; i < messages.length; i++){
p.println( messages[i] );
p.flush();
System.out.println("Write:" + messages[i] );
}
p.close();
p = null;
}
}
class myReader extends Thread{
private PipedInputStream inStream; //从中读数据
public myReader(PipedInputStream i){
inStream = i;
}
public void run(){
String line;
boolean reading = true;
BufferedReader d = new BufferedReader(new InputStreamReader(inStream));
while( reading && d != null){
try{
line = d.readLine();
if( line != null ) System.out.println(,Read," + line );
else reading = false;
}catch( IOException e){}
}
try{
Thread.currentThread().sleep( 4000 );
}catch( InterruptedException e ){}
}
}
public class Pipethread{
public static void main(String args[]){
Pipethread thisPipe = new Pipethread();
thisPipe.process();
}
public void process(){
PipedInputStream inStream;
PipedOutputStream outStream;
try{
outStream = new PipedOutputStream();
inStream = new PipedInputStream(outStream);
new myWriter( outStream ).start();
new myReader( inStream ).start();
}catch( IOException e ){ }
}
}