作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从来没有真正了解过此参数的含义,这有什么用?我还注意到WinSock2中忽略了此参数,为什么呢?
Unix系统使用此参数还是忽略它?
最佳答案
Windows的select()实现在内部使用链接列表,因此不需要使用nfds参数。
但是,在其他操作系统上,fd_set
结构被实现为保存一个位数组(每个套接字一个位)。例如,以下是在MacOS/X下如何声明它(在sys/_types/_fd_def.h中):
typedef struct fd_set {
__int32_t fds_bits[__DARWIN_howmany(__DARWIN_FD_SETSIZE, __DARWIN_NFDBITS)];
} fd_set;
nfds
参数,我们告诉select()实现只需要遍历数组的前(nfds)位,而不必总是在每次调用时遍历整个数组。这使select()的效率比其他方式更高。
关于sockets - 套接字编程中select()中的“nfds”参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44468268/
我从来没有真正了解过此参数的含义,这有什么用?我还注意到WinSock2中忽略了此参数,为什么呢? Unix系统使用此参数还是忽略它? 最佳答案 Windows的select()实现在内部使用链接列表
我想知道nfds是做什么的,在阅读了不同的手册后,我最终得到的唯一答案是它是编号最大的文件描述符加一。它到底有什么用? 最佳答案 当您使用select()时,您正在尝试检查一组文件描述符的状态。您感兴
我想知道 nfds 的作用,在阅读了不同的手册后,我最终得到的唯一答案是它是编号最高的文件描述符加一个。它到底是做什么用的? 最佳答案 当您使用 select() 时,您正在尝试检查一组文件描述符的状
我正在 Linux 上调试应用程序。它有几个线程定期调用 select 系统调用: strace 显示: select(0, NULL, NULL, NULL, {1, 342414}) 所以 nfd
我是一名优秀的程序员,十分优秀!