Ae pessoal,
Penei um pouco de trabalho mas consegui ! e resolvi compartilhar caso alguém queira algum dia.
A comunicação entre duas Threads usando Pipes.
import java.io.*;
public class MainPipe{
public static void main(String args[]){
ThreadA a;
ThreadB b;
try{
PipedWriter escreveA = new PipedWriter();
PipedWriter escreveB = new PipedWriter();
PipedReader leA = new PipedReader(escreveB);
PipedReader leB = new PipedReader(escreveA);
a = new ThreadA(escreveA, leA);
b = new ThreadB(escreveB, leB);
a.start();
b.start();
}
catch (IOException e) {
System.out.println( e );
}
}
}
import java.io.*;
public class ThreadA extends Thread {
Writer escritorB;
Reader leitorA;
String enviandoLinha;
String recenbendoLinha;
public ThreadA(Writer e, Reader l){
escritorB = e;
leitorA = l;
}
public void run() {
try{
//----- Escrevendo mensagem para a thread B -----
BufferedWriter out = new BufferedWriter(escritorB);
for(int i = 0; i < 3; i++){
enviandoLinha = "Po thread b recebe ai a msg: "+i;
out.write(enviandoLinha);
out.newLine();
}
out.flush();
out.close();
//----- Lendo mensagem enviada pela Thread A -----
BufferedReader in = new BufferedReader(leitorA);
while((recenbendoLinha = in.readLine()) != null)
System.out.println("Eu a thred A jah to lendo as tuas aqui: "+recenbendoLinha);
}
catch ( IOException erro ) {
System.err.println( erro );
}
}
}
import java.io.*;
public class ThreadB extends Thread {
Writer escritorA;
Reader leitorB;
String enviandoLinha;
String recenbendoLinha;
public ThreadB(Writer e, Reader l){
escritorA = e;
leitorB = l;
}
public void run() {
try{
//----- Escrevendo mensagem para a thread A -----
BufferedWriter out = new BufferedWriter(escritorA);
for(int i = 0; i < 3; i++){
enviandoLinha = "Mensagem para A nro: "+i;
out.write(enviandoLinha);
out.newLine();
}
out.flush();
out.close();
//----- Lendo mensagem enviada pela Thread B -----
BufferedReader in = new BufferedReader(leitorB);
while((recenbendoLinha = in.readLine()) != null)
System.out.println("Leu a linha de B: "+recenbendoLinha);
}
catch ( IOException erro ) {
System.err.println( erro );
}
}
}
Espero que alguém um dia se beneficie !
--------------------------------------------------------------------------
Cassiano Valle Tartari