-10 +

linux net

linux epoll

epoll 的工作原理是 kernel 帮忙管理着大量的链接,并且通过驱动对调将已经发生网络时间的链接通过 list 管理起来。 epoll 主要有三个函数, 下面我们分别来看看:

epoll_create

#include <sys/epoll.h>;

int epoll_create(int size);

epoll_create 创建 epoll 对象。

epoll_ctl

#include <sys/epoll.h>

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);

epoll_ctl 向 epoll 对象中添加敢兴趣的事件,epoll_wait 方法返回的感兴趣的事件必须是通过 epoll_ctl 添加的。

epoll_wait

#include <sys/epoll.h>

int epoll_wait(int epfd, struct epoll_event *events,
                      int maxevents, int timeout);

epoll_wait 收集监控事件中已经发生的事件。

参考

关于我

85 后程序员, 比较熟悉 Java,JVM,Golang 相关技术栈, 关注 Liunx kernel,目前痴迷于分布式系统的设计和实践。 研究包括但不限于 Docker Kubernetes eBPF 等相关技术。

Blog

Code

Life

Archive