There are other subtle differences between sleep_for and sleep_until. The system timer is often not too precise and might be adjusted by time synchronization services such as Network Time Protocol daemon (ntpd). These clock adjustments do not affect sleep_for, but sleep_until takes them into account. Use it if your application relies on a specific time rather than a time interval; for example, if you need to redraw the digits on a clock display every second.