温馨提示×

C语言中usleep与nanosleep函数怎么使用

小亿
112
2023-08-02 14:52:26
栏目: 编程语言

在C语言中,usleep和nanosleep函数用于暂停程序的执行一段时间。

  1. usleep函数的使用:
#include <unistd.h>
int usleep(useconds_t microseconds);

usleep函数会使程序暂停执行指定的微秒数。参数microseconds指定了暂停的时间,单位是微秒(百万分之一秒)。

示例:

#include <stdio.h>
#include <unistd.h>
int main() {
printf("Before usleep\n");
usleep(2000000);  // 暂停2秒
printf("After usleep\n");
return 0;
}

输出:

Before usleep
[等待2秒]
After usleep
  1. nanosleep函数的使用:
#include <time.h>
int nanosleep(const struct timespec *req, struct timespec *rem);

nanosleep函数会使程序暂停执行指定的纳秒数。参数req是一个指向timespec结构体的指针,用来指定暂停的时间。参数rem是一个指向timespec结构体的指针,用来获取未完成的暂停时间。

示例:

#include <stdio.h>
#include <time.h>
int main() {
printf("Before nanosleep\n");
struct timespec req;
req.tv_sec = 2;          // 2秒
req.tv_nsec = 0;         // 0纳秒
nanosleep(&req, NULL);   // 暂停2秒
printf("After nanosleep\n");
return 0;
}

输出:

Before nanosleep
[等待2秒]
After nanosleep

0