thrd_sleep
|
Défini dans l'en-tête
<threads.h>
|
||
|
int
thrd_sleep
(
const
struct
timespec
*
duration,
struct timespec * remaining ) ; |
(depuis C11) | |
Bloque l'exécution du thread actuel pendant
au moins
jusqu'à ce que la durée basée sur
TIME_UTC
pointée par
duration
se soit écoulée.
Le sommeil peut reprendre plus tôt si un
signal
non ignoré est reçu. Dans ce cas, si
remaining
n'est pas
NULL
, la durée restante est stockée dans l'objet pointé par
remaining
.
Table des matières |
Paramètres
| duration | - | pointeur vers la durée de suspension |
| remaining | - | pointeur vers l'objet pour stocker le temps restant en cas d'interruption. Peut être NULL , auquel cas il est ignoré |
Valeur de retour
0 en cas de mise en veille réussie, - 1 si un signal s'est produit, autre valeur négative en cas d'erreur.
Notes
duration
et
remaining
peuvent pointer vers le même objet, ce qui simplifie la réexécution de la fonction après un signal.
Le temps de veille réel peut être plus long que demandé car il est arrondi à la granularité du minuteur et en raison des frais généraux de planification et de commutation de contexte.
L'équivalent POSIX de cette fonction est
nanosleep
.
Exemple
Sortie :
Time: Mon Feb 2 16:18:41 2015 Time: Mon Feb 2 16:18:42 2015
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.26.5.7 La fonction thrd_sleep (p : 281)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.26.5.7 La fonction thrd_sleep (p: 385)
Voir aussi
|
(C11)
|
cède la tranche de temps actuelle
(fonction) |
|
Documentation C++
pour
sleep_for
|
|