写一个延迟函数,usleep是延迟函数有时导致线程阻塞会因为有定时器终止的信号(SIGALRM)产生时会一些未定义的情况,建议少用,我们目前都换成了select替代,具体代码如下
void Msleep(unsigned int MilliSecond)
{
struct timeval time;
time.tv_sec = MilliSecond / 1000;//seconds
time.tv_usec = MilliSecond % 1000 * 1000;//microsecond
select(0, NULL, NULL, NULL, &time);
}