Buonasera,
volevo sapere se, in Java, i due seguenti metodi di sincronizzazione sono DEL TUTTO equivalenti
In un thread, scrivo in una funzione notifyAll(), in un'altra this.wait().
Tutto funziona alla perfezione, nonostante ci siano 3 thread in stato runnable contemporaneamente..
Ora, se cambio le due chiamate con le seguenti linee di codice, tutto cambia e il programma si inceppa clamorosamente
Naturalmente inizializzo nel costruttore l'oggetto methodLock...
synchronized (methodLocks) {
methodLocks.notifyAll();
}
synchronized (methodLocks) {
methodLocks.wait();
}
Allora, o io non conosco qualcosa della sincronizzazione oppure sbaglio qualcosa di semplicissimo.
Chi mi sa dire dove toppo?