Java - alternative zu thread.schlafen

Habe ich eine Anforderung zum anhalten einer while-Schleife für eine bestimmte Anzahl von Millisekunden. Ich habe versucht, mit Gewinde.sleep(Dauer), aber es ist nicht korrekt, vor allem in einer Schleife Szenario. Millisekunden-Genauigkeit ist wichtig, in mein Programm.

Hier ist der Algorithmus, wo ich nicht wollen, um zurück zu überprüfen Zustand bis expectedElapsedTime übergeben hat.

while (condition) {
    time = System.currentTimeMillis();
    //do something
    if (elapsedTime(time) < expectedElapsedTime) ) {
        pause the loop  //NEED SUBSTITUTE FOR Thread.sleep()
    }
    //Alternative that I have tried but not giving good results is 
    while ((elapsedTime(time) < expectedElapsedTime)) {
        //do nothing
    }
}

long elapsedTime(long time) {
   long diff = System.currentTimeMillis() - time;
   return diff;
}

InformationsquelleAutor user1189747 | 2012-02-04

Schreibe einen Kommentar