epoll

2021-05-22  本文已影响0人  老杜振熙

Reference

The Implementation of epoll (1) (idndx.com)

Prerequisites

FAQ

Q: 为什么epoll实体(instance)是用fd来进行引用呢?
A:因为这可以让epoll实体变得和socket一样可以poll

Q:epoll的核心是什么?
A:核心就是struct eventpoll这个内核数据结构,它定义并维护了epoll所需的所有操作;通过epoll_create()创建一个epoll实体,而在底层就对应一个struct eventpoll,一些细节如下:

Q:epoll是如何记住用户注册的所有fd的?
A:通过struct eventpoll中的rbr成员,该成员是一个红黑树

上一篇 下一篇

猜你喜欢

热点阅读