在LINUX用户态的情况下,如果想要延时的话,用sleep是最合适的,但是,在有些情况下,需要更小单位的延时,ms us 也是要的。用循环获取到的延时是不精确的。
幸好,select函数巧用的话,是可以做到延时的效果的。
废话不多说,直接上code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(int argc, char *argv[])
{
unsigned long long a;
struct timeval time;
time.tv_sec = 5;
time.tv_usec = 0;
printf("start , sleep 5 sec\n");
select(0, NULL, NULL, NULL, &time);
printf("end\n");
return 0;
}
设置下对应的 time的值即哥完成延时。