代码如下:
#include <sys/time.h>
#include <time.h>
#include <errno.h>
#include <sys/select.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
while(1)
{
struct timeval stStart, stEnd;
gettimeofday(&stStart, NULL);
struct timeval tv={0, 33000};
select(0,NULL,NULL,NULL,&tv);
gettimeofday(&stEnd, NULL);
unsigned int iDelayUseTime = ((stEnd.tv_sec-stStart.tv_sec)*1000*1000+(stEnd.tv_usec-stStart.tv_usec));
printf("use time:%u\n", iDelayUseTime);
if(iDelayUseTime < 30000 || 35000 < iDelayUseTime)
exit(0);
}
return 0;
}
使用usleep的话也会出现这种情况