Innanzitutto mi scuso con LeleFT per l'errato titolo, sono super sotto pressione e non avevo ben letto le regole...scusatemi!
In secondo luogo ringrazio andbin per la pazienza e l'aiuto, come detto in precedenza sono nuovissimo di Java (come é certamente chiaro) e quindi molte domande possono essere stupide.
Allora ricapitolando, ho capito quello che dici, peró non riesco ancora a capire bene come implementare una ssoluzione.
Ho provato a lasciare Comandante utilizzante synchronized (quindi su se stesso) e incapsulare in soldatino i methodi che usano myComandante (il riferimento a comandande_1) usando :
codice:
synchronized(myComandante){
...
myComandante.isWaitingForAnswer();
...
myComandante.wait();
...
myComandante.getNextQuestion();
...
myComandante.sir();
purtroppo non sembra funzionare. Anche perche notifyAll() non lo posso sincronizzare con (myComandante) e devo utilizzare synchronized nella signature del metodo che richiama notifyAll().
Capisco che un'altra configurazione sarebbe piú appropriata, purtroppo lo scheletro di questa cosa mi é stato dato dal Prof e non lo posso cambiare... :-(
Grazie ancora per l'aiuto!