C言語 sleep/usleep/nanosleep関数: 休眠の基本と使い分け
C言語では、休眠機能を実現するために以下の関数を使用することができます。
- 眠る (ねむる)
#include <unistd.h>
int main() {
printf("Sleeping for 3 seconds...\n");
sleep(3);
printf("Awake now!\n");
return 0;
}
- 一瞬休む
#include <unistd.h>
int main() {
printf("Sleeping for 500 milliseconds...\n");
usleep(500000);
printf("Awake now!\n");
return 0;
}
- nanosleep – ナノスリープ
- 時間指定
#include <time.h>
int main() {
struct timespec ts = {2, 500000000}; // 2.5秒
printf("Sleeping for 2.5 seconds...\n");
nanosleep(&ts, NULL);
printf("Awake now!\n");
return 0;
}
上記の関数を使用する際には、適切なヘッダーファイルを含める必要があり、パラメータの単位と精度に注意する必要があります。