网络编程11—​​—epoll实现多通道IO的三个基本功能

电脑杂谈  发布时间:2020-07-12 12:17:34  来源:网络整理

epoll ctl返回值_epoll ctl 线程安全_epoll ctl返回值

本质是平衡的二叉树(红色和黑色的树)

在这里插入图片描述

参数大小: 创建红色和黑色树的侦听节点的数量(但这仅用于内核参考

返回值: 成功指向新创建的红黑树的根节点fd;如果失败,则返回-1和errno.

epoll ctl返回值_epoll ctl 线程安全_epoll ctl返回值

在这里插入图片描述

在这里插入图片描述

参数1: epfd是epoll_create的函数返回值,它是图中的根节点

参数2: 在监视红黑树上执行的操作(添加,修改,删除)

epoll ctl 线程安全_epoll ctl返回值_epoll ctl返回值

EPOLL_CTL_ADD: 添加fd监视红色和黑色的树

EPOLL_CTL_MOD: 修改fd在监视红黑树上的监视事件

EPOLL_CTL_DEL: 从监视红黑树中删除fd(取消监视)

参数3: 要监控的fd fd

epoll ctl 线程安全_epoll ctl返回值_epoll ctl返回值

参数4: 事件本质上是epoll_event结构的结构epoll ctl返回值,有两个成员: ①事件: 有EPLOOIN,EPOLLOUT,EPOLLERR; ②另一个成员②数据是联合,fd对应于fd监视事件,一个通用指针void * ptr,未使用其他两个类型为unit32_t和unit64_t的变量

epoll_ctl函数的返回值: 成功0,失败-1和errno

在这里插入图片描述

在这里插入图片描述

epoll ctl返回值_epoll ctl 线程安全_epoll ctl返回值

参数1: epfd,它是epoll_create()函数的返回值

参数2: 事件是一个数组,是一个传出参数,它满足监视条件,是传出的fd结构,因此您不必像前两个select一样进行轮询并通过轮询来找到令人满意的事件

在这里插入图片描述

参数3: maxevents,数组元素总数1024

参数4: 超时,将-1设置为阻塞,将0设置为立即返回而不阻塞,将> 0设置为指定的毫秒数

int epoll_wait()的返回值: 大于0意味着可以返回监视满意度的总数,可以将其用作循环的上限;返回0表示没有fd满足监视事件;返回-1表示失败epoll ctl返回值,而errno


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-277645-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...