编程语言只是一种工具,它不应该成为我们技术前进之路上的壁垒。

挖坑:epoll 函数如何能准确知道哪些 FD 是活跃的呢?

该问题的起源来自于《netty权威指南·第二版·李林峰著》。

最近刚好翻到 NIO 复习,打开书看到有“IO多路复用”的讲解,看之。

书中对比了 epoll 和 select,列出了 epoll 的多项改进。

其中一项改进就是“epoll 不再直接维护庞大的 FD 集合,而是通过在 FD 上的 callback 函数,准确知道活跃的 FD 集合”。

书中还提到这是 epoll 的 伪IO 实现。

好奇心来了,刚解开一个谜团,callback 的实现机制又立刻变成了新的谜团。

这一环套一环的,像不像俄罗斯套娃?callback 究竟和哪些线程相关?甚至是更底层的物理硬件与操作系统的交互?

 

有大佬熟悉相关知识点,并且,如果有空的话顺手给条连接/资料 呗~~~ 感激不尽

个人也会在最近开始尝试自己搜索解答。:)

posted on 2020-07-02 00:16  独角没有戏  阅读(534)  评论(0编辑  收藏  举报

导航