Salve, ho un problema con un Thread java. Praticamente ho una classe che estende Thread e nel suo run() ha solo questo:
@Override
public void run() {
while (this.running) {
if( this.statusUpdated ) {
this.notifyStatusUpdate();
}
}
}
In un altro thread viene la variabile statusUpdated diventa True, ma il metodo notifyStatusUpdate() non viene mai eseguito.
Se provo ad aggiungere un piccolo ritardo al loop, in questo modo:
@Override
public void run() {
while (this.running) {
if( this.statusUpdated ) {
this.notifyStatusUpdate();
}
try {
Thread.sleep(1);
} catch (InterruptedException ex) { }
}
}
Tutto funziona, ma non riesco a capire il perchè, mi sapete aiutare?