Tenho uma Thread a
Thread a = new Thread(new Runnable() {
<a class="mention" href="/u/override">@Override</a>
public void run() {
(…)
que espera o notify() de uma Thread b em um looping
(…)
do{
pcJoga(ligacao.pcJoga(), ligacao.getPecaPC());
synchronized(b){
try{
System.out.println(“Aguardando b”);
b.wait();
System.out.println(“n aguardando b”);
}catch(InterruptedException ie){}
}
pcJoga(ligacao.usuarioJoga(btnClicado), ligacao.getPecaUsuario());
}while(continuaJogo());
E essa Thread b deve notificar a Thread a apenas quando um botão for clicado
Thread b = new Thread(new Runnable() {
<a class="mention" href="/u/override">@Override</a>
public void run() {
synchronized(this){
notify();
}
}
});
Comando do botão:
private void btnA1ActionPerformed(java.awt.event.ActionEvent evt) {
setBtnClicado(0);
b.start();
}
private void btnB1ActionPerformed(java.awt.event.ActionEvent evt) {
setBtnClicado(1);
b.start();
}
o problema é que são muitos botões e eu não posso usar b.start(); duas vezes, já tentei interromper a Thread b, usar b.run(), criar uma flag para ativar a Thread b. O problema é que eu não entendo de Threads então não consegui fazer funcionar, agradeço qualquer ajuda.
[]'s