Bom dia pessoal !
Preciso implementar uma comunicação entre duas Threads.
Uma delas já está feita e fica escutando a porta serial para receber o peso enviado por uma balança.
A outra é uma janela que mostra mensagem de aviso para o usuário e tem um botão cancelar. Esta janela poderá ser fechada de duas formas :
- Por cancelamento via botão
- Ao receber um peso da balança pela serial
Para isso, preciso que essas duas threads se comuniquem via notify, sendo que uma fica escutando a porta e a outra fica em wait, mas não sei usar esses métodos.
As duas threads são disparadas por um mesmo objeto, que, por sua vez, é acionado pelo usuário via menu ( opção= “Ler balança”)
Alguem poderia me explicar como implementar isso ?
Segue o método run da thread que escuta a serial :
public void run()
{
try
{
if (!portFound) {
System.out.println("Port not found: "+defaultPort);
errorMessage = "Porta de Comunicação " + defaultPort + " não encontrada.";
();
} else {
while ((this.dPeso <= 0) && (this.dialog.isShowing()))
{
Thread.sleep(1000);
}
this.readThread.interrupt();
if (this.dialog.isShowing()) {
this.dialog.setVisible(false);
} else {
this.dPeso = SEM_INFORMACAO;
}
}
} catch (InterruptedException e) {
System.out.println("Erro :: "+e.getMessage());
e.printStackTrace();
}
}