我想知道该代码是否:
select(fd,..., NULL);
比那个消耗更少的CPU:
struct timeval tv;
tv.tv_sec = X;
tv_tv_usec = Y;
select(fd,..., &tv);
以及为什么。谢谢。
编辑:我问的是一个电话。这是一个系统调用,因此它依赖于系统,并且由系统来解锁 select()ing 程序。那么,对于系统来说,在有或没有超时的情况下完成选择是否会消耗更多的CPU?
最佳答案
两者都不是“更轻”。 select
是一个系统调用,当监视的文件描述符之一发生事件或发生超时(如果提供)时,它将指示操作系统唤醒您的任务。使用 NULL
超时进行选择将无限期地选择,直到发生监视的文件描述符事件或进程以其他方式中断。
关于c - 带有 NULL 超时的 select() 是否比带有超时的 select() 更轻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25809290/