Ae galera, estou com um problema em duas threads que estou trabalhando ao mesmo tempo.
Tenho dois while, um em cada Thread. Esta funcionando tudo ok, mas os prints que tenho no loop da primeira Thread eles não vão sendo mostrados conforme a execução, parasse que o sistema acumula eles e mostra somente no final.
Aqui tenho o código da Thread que acorre isso?
package Scripts;
import java.io.IOException;
import java.io.InputStream;
import mainPackage.PD1901View;
public class InputLua extends Thread {
Process processo;
ServidorSocket servidor;
String address;
InputLua(String address) {
this.address = address;
}
public void run() {
if (address != null) {
servidor = new ServidorSocket();
servidor.start(); //segunda thread
try {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
processo = Runtime.getRuntime().exec("./lua " + address);
InputStream in = processo.getInputStream();
int c;
String saída = "";
//while em que os prints acontecem mas não são mostrados em tempo real
while ((c = in.read()) != -1) {
saída += ((char) c);
if (c == 13 || c == 10) {
PD1901View.getTerminal().setTerminal(
saída.replaceAll("\n", ""));
System.out.print(saída);
saída = "";
}
}//aqui que os prints aparecem
servidor.stoped();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Alguma ideia do que pode estar ocasionando isso e uma possível solução?
Obrigado