Java Thread eseguito solo con Sleep.

di il
1 risposte

Java Thread eseguito solo con Sleep.

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?

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte