select函数本是被用作检测系统文件描述符的状态
int threadDelay(const int sec, const int usec){
timeval tv;
tv.tv_sec = sec;
tv.tv_usec = usec;
if (0 != select(0, NULL, NULL, NULL, &tv)){
return -1;
}
return 0;
}
其中第一个参数maxfd设置为fd_set中最大文件描述符的值+1,因为select实际上遍历了到maxfd为止的所有描述符是否可用,当其被设置为0时就不检测任何描述符
最后一个参数为等待的时间,相当于收到一个信号量,函数从阻塞状态返回

本文介绍如何利用select函数实现线程的延迟执行。通过设置时间参数,可以使线程进入阻塞状态直到指定时间结束。select函数遍历文件描述符以检查其可用性,并在到达指定等待时间后返回。
1605

被折叠的 条评论
为什么被折叠?



