名称 | select | poll | epoll |
---|---|---|---|
数据结构 | 数组(fd) | 数组(fd)+链表(就绪fd) | 红黑树(fd)+双向链表(就绪fd) |
实现方法 | 遍历 | 遍历 | 回调 |
最大连接数限制 | FD_SETSIZE | 无 | 有,与内存有关1G10万 |
有无设备与内核内存复制 | 有 | 有 | 无,mmap通过映射共享设备和内核内存 |
性能与设备多少关系 | 反相关 | 反相关 | 无相关,与活跃设备数成反相关 |
有不对之处,望指出。
名称 | select | poll | epoll |
---|---|---|---|
数据结构 | 数组(fd) | 数组(fd)+链表(就绪fd) | 红黑树(fd)+双向链表(就绪fd) |
实现方法 | 遍历 | 遍历 | 回调 |
最大连接数限制 | FD_SETSIZE | 无 | 有,与内存有关1G10万 |
有无设备与内核内存复制 | 有 | 有 | 无,mmap通过映射共享设备和内核内存 |
性能与设备多少关系 | 反相关 | 反相关 | 无相关,与活跃设备数成反相关 |
有不对之处,望指出。