epoll学习:epoll_wait函数详解

本文详细解析了epoll_wait函数的作用、参数解释和返回值,重点讲解了如何在高并发环境中利用epoll进行事件驱动编程,包括epfd句柄、events数组、maxevents和timeout参数的实战运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、epoll_wait函数

1.1、函数定义

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

作用: 等待监听的所有fd相应事件的产生

1.2、参数详解:

1) int epfd: epoll_create()函数返回的epoll实例的句柄。

2) struct epoll_event * events: 接口的返回参数,epoll把发生的事件的集合从内核复制到 events数组中。events数组是一个用户分配好大小的数组,数组长度大于等于maxevents。(events不可以是空指针,内核只负责把数据复制到这个 events数组中,不会去帮助我们在用户态中分配内存)

3) int maxevents: 表示本次可以返回的最大事件数目,通常maxevents参数与预分配的events数组的大小是相等的

4) int timeout: 表示在没有检测到事件发生时最多等待的时间,超时时间(>=0),单位是毫秒ms,-1表示阻塞,0表示不阻塞。

1.3、返回值:

成功返回需要处理的事件数目。失败返回0,表示等待超时。

四、参考资料:

1、epoll使用详解:epoll_create、epoll_ctl、epoll_wait、close
2、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值