clockblocks.utilities.sleep_precisely_until¶
-
clockblocks.utilities.
sleep_precisely_until
(stop_time: float, interruption_event: threading.Event = None) → None[source]¶ High-precision sleep until stop_time. Sleeps repeatedly by half of the remaining time until there are fewer than 500 microseconds left, at which point it implements a busy wait.
- Parameters
stop_time – desired stop time in seconds since the epoch (as is returned by
time.time()
)interruption_event – (optional) an Event used to execute the sleep call. This has the advantage that the sleep can be interrupted by calling set() on the event.