/*精确度为0.001秒的sleep函数*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/select.h>
void sleep_1(unsigned int secs)
{
struct timeval tval;
tval.tv_sec=secs/1000;
tval.tv_usec=(secs*1000)%1000000;
select(0,NULL,NULL,NULL,&tval);
}
//
例如:调用sleep_1(500)时,表示睡眠0.5秒
//如果你觉得睡眠1秒时间太长,可以用此方法
//当然,如果你想要更精确的时间控制,可以进行修改:
/*
tval.tv_sec=secs/1000000;
tval.tv_usec=secs%1000000;
精确度为1微秒(0.000001秒)
*/
轮循: 一个无限循环..select最后一个参数 设置的很小 毫秒或者几秒的等待 有描述符准备好 则处理 继续循环.没有描述符准备好就结束.继续循环.