internen Clock (Timer interrupt) als delay benutzen?

ElMadridano

Mitglied
Hallo,

meine while Schleife, soll in einem bestimmten Takt laufen. Dafür haben wir mit dem Timer interrupt und dem internen CLock einen globalen Zähler erzeugt der in einem Takt von 100ms Sekunden arbeitet. Wie kann ich es jetzt einrichten, das meine while Schleife mit einem Takt von 1 Sekunde läuft.

while(1){
do{
Zähler;
}while(Zähler==10);
}
Das hat garnicht funktioniert. Habt ihr eine bessere Idee? Danke
 

Oneixee5

Top Contributor
Blockierend:
Java:
while(true) {
    long millis = System.currentTimeMillis();
    // do somthing
    Thread.sleep(1000 - millis % 1000);
}
oder als eigener Thread:
Java:
        final ScheduledExecutorService es = Executors.newSingleThreadScheduledExecutor();
        es.scheduleAtFixedRate(() -> {
            // do somthing
        }, 0, 1, TimeUnit.SECONDS);

        // when finished
        es.shutdown();
 

Neue Themen


Oben