挖坑:epoll 函数如何能准确知道哪些 FD 是活跃的呢?
该问题的起源来自于《netty权威指南·第二版·李林峰著》。
最近刚好翻到 NIO 复习,打开书看到有“IO多路复用”的讲解,看之。
书中对比了 epoll 和 select,列出了 epoll 的多项改进。
其中一项改进就是“epoll 不再直接维护庞大的 FD 集合,而是通过在 FD 上的 callback 函数,准确知道活跃的 FD 集合”。
书中还提到这是 epoll 的 伪IO 实现。
好奇心来了,刚解开一个谜团,callback 的实现机制又立刻变成了新的谜团。
这一环套一环的,像不像俄罗斯套娃?callback 究竟和哪些线程相关?甚至是更底层的物理硬件与操作系统的交互?
有大佬熟悉相关知识点,并且,如果有空的话顺手给条连接/资料 呗~~~ 感激不尽
个人也会在最近开始尝试自己搜索解答。:)