public abstract class WaitableClock extends Clock
SimulationClock
Constructor and Description |
---|
WaitableClock() |
Modifier and Type | Method and Description |
---|---|
Duration |
durationUntil(Instant until)
Berechnet die Dauer bis zum angegebenen Zeitpunkt
|
static WaitableClock |
simulationClock(Instant start,
double simulationSpeed)
Gibt eine simulierte Uhr zurück
|
void |
sleep(Duration duration)
Wartet die angegebene Dauer.
|
abstract void |
sleep(long millis)
Tut das gleiche wie
Thread.sleep(long) , verwendet aber diese Uhr um die Wartezeit zu bestimmen. |
void |
sleepUntil(Instant instant)
Wartet, bis die Uhr die angegebene Zeit erreicht.
|
static WaitableClock |
systemClock()
Gibt die System-Uhr zurück.
|
Duration |
wait(Object obj,
Duration duration)
Wartet die angegebene Dauer, vergleichbar mit obj.
|
abstract Duration |
wait(Object obj,
long millis)
Tut das gleiche wie obj.
|
Duration |
waitUntil(Object obj,
Instant until)
Wartet biszum angegebenen Zeitpunkt, vergleichbar mit obj.
|
equals, fixed, getZone, hashCode, instant, millis, offset, system, systemDefaultZone, systemUTC, tick, tickMinutes, tickSeconds, withZone
public abstract void sleep(long millis) throws InterruptedException
Thread.sleep(long)
, verwendet aber diese Uhr um die Wartezeit zu bestimmen. Wenn diese Uhr beispielsweise
um Faktor 10 beschleunigt läuft, dann verringert sich die reale Wartezeit um Faktor 10.millis
- Millisekunden, fall 0 oder negativ wird nicht gewartet.InterruptedException
public final void sleep(Duration duration) throws InterruptedException
duration
- Dauer, fall 0 oder negativ wird nicht gewartet.InterruptedException
public final void sleepUntil(Instant instant) throws InterruptedException
instant
- Ziel-ZeitpunktInterruptedException
public final Duration durationUntil(Instant until)
until
- Ziel-Zeitpunktpublic abstract Duration wait(Object obj, long millis) throws InterruptedException
Object.wait(long)
, verwendet aber diese Uhr um die Wartezeit zu bestimmen. Wenn diese Uhr beispielsweise
um Faktor 10 beschleunigt läuft, dann verringert sich die reale Wartezeit um Faktor 10. Im Gegensatz zu sleep(Duration)
kann
das Warten mit Object.notifyAll()
unterbrochen werden und es muss auf das Objekt synchronisiert werden.obj
- Objekt, für das Object.wait(long)
aufgerufen werden sollmillis
- Millisekunden, fall 0 oder negativ wird nicht gewartet.InterruptedException
public final Duration wait(Object obj, Duration duration) throws InterruptedException
Object.wait(long)
. Im Gegensatz zu sleep(Duration)
kann
das Warten mit Object.notifyAll()
unterbrochen werden und es muss auf das Objekt synchronisiert werden.obj
- Objekt, für das Object.wait(long)
aufgerufen werden sollduration
- Dauer, fall 0 oder negativ wird nicht gewartet.InterruptedException
public final Duration waitUntil(Object obj, Instant until) throws InterruptedException
Object.wait(long)
. Im Gegensatz zu sleep(Duration)
kann
das Warten mit Object.notifyAll()
unterbrochen werden und es muss auf das Objekt synchronisiert werden.obj
- Objekt, für das Object.wait(long)
aufgerufen werden solluntil
- Ziel-ZeitpunktInterruptedException
public static WaitableClock systemClock()
Clock.systemUTC()
.public static WaitableClock simulationClock(Instant start, double simulationSpeed)
start
- Startzeit der Uhr (beim Aufruf dieser Methode)simulationSpeed
- Geschwindigkeits-Faktor der Uhr. Gibt an, wie schnell die Uhr im Vergleich zur realen
Systemzeit läuft. Bspw. Faktor 10: Die Uhr geht 10 Minuten innerhalb einer realen Minute.Copyright © 2017 BitCtrl Systems GmbH. All rights reserved.