巧用select延时

在LINUX用户态的情况下,如果想要延时的话,用sleep是最合适的,但是,在有些情况下,需要更小单位的延时,ms  us 也是要的。用循环获取到的延时是不精确的。

幸好,select函数巧用的话,是可以做到延时的效果的。

废话不多说,直接上code:

#include 
#include 
#include 
#include 

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的值即哥完成延时。

你可能感兴趣的:(Linux)