thrd_sleep
|
Definiert im Header
<threads.h>
|
||
|
int
thrd_sleep
(
const
struct
timespec
*
duration,
struct timespec * remaining ) ; |
(seit C11) | |
Blockiert die Ausführung des aktuellen Threads für
mindestens
die Dauer, auf die
duration
zeigt, basierend auf
TIME_UTC
, bis diese abgelaufen ist.
Der Sleep kann früher fortgesetzt werden, wenn ein
Signal
empfangen wird, das nicht ignoriert wird. In diesem Fall wird, falls
remaining
nicht
NULL
ist, die verbleibende Zeitdauer in das Objekt gespeichert, auf das
remaining
zeigt.
Inhaltsverzeichnis |
Parameter
| duration | - | Zeiger auf die Dauer für den Sleep-Vorgang |
| remaining | - | Zeiger auf das Objekt für die verbleibende Zeit bei Unterbrechung. Kann NULL sein, in diesem Fall wird es ignoriert |
Rückgabewert
0 bei erfolgreichem Sleep, - 1 falls ein Signal aufgetreten ist, anderer negativer Wert bei einem Fehler.
Hinweise
duration
und
remaining
können auf dasselbe Objekt zeigen, was das erneute Ausführen der Funktion nach einem Signal vereinfacht.
Die tatsächliche Schlafzeit kann länger sein als angefordert, da sie auf die Timer-Granularität aufgerundet wird und aufgrund von Scheduling- und Kontextwechsel-Overhead.
Das POSIX-Äquivalent dieser Funktion ist
nanosleep
.
Beispiel
Ausgabe:
Time: Mon Feb 2 16:18:41 2015 Time: Mon Feb 2 16:18:42 2015
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.26.5.7 Die thrd_sleep-Funktion (S: 281)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.26.5.7 Die thrd_sleep-Funktion (S: 385)
Siehe auch
|
(C11)
|
gibt die aktuelle Zeitscheibe ab
(Funktion) |
|
C++-Dokumentation
für
sleep_for
|
|