阅读量:4
在C语言中,可以使用nanosleep
函数来实现微秒级的延时。nanosleep
函数的原型如下:
int nanosleep(const struct timespec *req, struct timespec *rem);
其中,req
是一个指向timespec
结构的指针,用来指定要延时的时间;rem
是一个指向timespec
结构的指针,用来存储剩余的未休眠时间(如果调用被信号中断时)。timespec
结构定义如下:
struct timespec { time_t tv_sec; // 秒 long tv_nsec; // 纳秒 };
下面是一个使用nanosleep
函数实现微秒级延时的示例代码:
#include <time.h> void usleep(unsigned int microseconds) { struct timespec req; struct timespec rem; req.tv_sec = microseconds / 1000000; req.tv_nsec = (microseconds % 1000000) * 1000; nanosleep(&req, &rem); } int main() { usleep(1000); // 延时1微秒 return 0; }
在上面的示例代码中,usleep
函数封装了nanosleep
函数,用来实现微秒级的延时。在main
函数中调用usleep
函数来实现延时1微秒。