Pourquoi est-clock_nanosleep préféré sur nanosleep de créer des temps de sommeil en C?
Où l'une des deux fonctions est mieux
#include <time.h>
int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp);
OU
#include <time.h>
int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
Définir les "bons". Portable, efficace, bien connu, facilement compréhensibles, précises, ce que ce que à quoi?
Avez-vous lu les pages de man? linux.die.net/man/3/clock_nanosleep
personne ne lit les pages man. C'est comme moi en vous demandant "Avez-vous lu le Facebook termes de service" ou un mécanicien en vous demandant "Avez-vous même de lire le manuel de l'utilisateur" lorsque vous ne pouvez pas comprendre pourquoi vos phares ne fonctionne pas =P
Avez-vous lu les pages de man? linux.die.net/man/3/clock_nanosleep
personne ne lit les pages man. C'est comme moi en vous demandant "Avez-vous lu le Facebook termes de service" ou un mécanicien en vous demandant "Avez-vous même de lire le manuel de l'utilisateur" lorsque vous ne pouvez pas comprendre pourquoi vos phares ne fonctionne pas =P
OriginalL'auteur payyans4u | 2011-10-17
Vous devez vous connecter pour publier un commentaire.
Les avantages de
clock_nanosleep
surnanosleep
sont:ntpd
, etc. Avecnanosleep
et de précalculer l'intervalle de temps pour dormir, pour atteindre un temps absolu, vous allez échouer à réveiller si l'horloge est réinitialisée et la durée souhaitée arrive "précoce". Aussi, il y a une condition de concurrence pour la planification de l'utilisation de l'intervalle de temps: Si vous calculez l'intervalle que vous souhaitez dormir, mais vous avez interrompu avant d'appelernanosleep
et de ne pas avoir prévu de nouveau pendant un certain temps, vous aurez à nouveau dormir trop longtemps.OriginalL'auteur R..
Sur mon système,
man 2 clock_nanosleep
explique les différences entre les deux fonctions ainsi:OriginalL'auteur NPE