import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
class MyThread extends Thread {
private PipedReader pr;
private PipedWriter pw;
MyThread(String name, PipedReader pr, PipedWriter pw) {
super(name);
this.pr = pr;
this.pw = pw;
}
public void run() {
try {
if (getName().equals("src")) {
for (int i = 0; i < 15; i++)
pw.write("src " + " A" + i + "\n");
pw.close();
} else {
int item;
while ((item = pr.read()) != -1)
System.out.print((char) item);
pr.close();
}
} catch (IOException e) {
}
}
}
class PipedThreads {
public static void main(String[] args) throws Exception {
PipedWriter pw = new PipedWriter();
PipedReader pr = new PipedReader(pw);
MyThread mt1 = new MyThread("src", pr, pw);
MyThread mt2 = new MyThread("dst", pr, pw);
mt1.start();
Thread.sleep(2000);
mt2.start();
}
}
|