Consumer.java
package threadpipe;
import java.io.*;
public class Consumer extends Thread{
private PipedInputStream pi;
public Consumer(PipedInputStream pi){
this.pi = pi;
}
public void run(){
int i =0;
try{
i = pi.read();
}
catch(IOException e){
e.printStackTrace();
}
System.out.println(" i = "+i);
}
}
MyThread.java
package threadpipe;
import java.io.*;
public class MyThread {
public static void main(String[] args) {
PipedInputStream pi = new PipedInputStream();
PipedOutputStream po = new PipedOutputStream();
try {
po.connect(pi);
} catch (IOException e) {
e.printStackTrace();
}
Consumer c = new Consumer(pi);
Producer p = new Producer(po);
p.start();
c.start();
}
}
Producer.java
package threadpipe;
import java.io.*;
public class Producer extends Thread{
private PipedOutputStream po;
public Producer(PipedOutputStream po){
this.po = po;
}
public void run(){
int i = 8;
try{
po.write(i);
}
catch(IOException e)
{
e.printStackTrace();
}
}
}