C言語のnanosleep関数は、プロセスを指定時間待機させます。

nanosleep関数は、現在のスレッドを指定した時間だけ休止させるのに使用されます

#include <time.h>
int nanosleep(const struct timespec *req, struct timespec *rem);

パラメータの説明:

  1. timespec構造体は、指定秒数(tv_sec) とナノ秒数(tv_nsec) からなる、指定時間の長さ(ナノ秒単位)を表す。
  2. rem: シグナル以外の条件で中断された場合、関数呼び出しの終了時に、中断されなかった残りの時間の長さを返します。このパラメーターは NULL にできます。

返す値:

  1. 指定時間の長さが経過したら0を返す。
  2. 他の信号によって中断された場合、残りの時間を返す。
  3. エラー発生時は-1を返し、errno変数にエラー原因を設定します。

ご注意ください。

  1. nanosleep 関数は比較的正確だが、正確さはシステムのクロック分解能に左右される。
  2. req パラメータで指定する時間の長さは正数でなければならず、そうでなければ nanosleep 関数は EINVAL エラーを返します。
  3. rem パラメータは必須ではありません。残り時間を取得する必要がない場合は、NULL に設定できます。
bannerAds