美文网首页
5.7、通讯代码精粹之epoll函数实战2

5.7、通讯代码精粹之epoll函数实战2

作者: 奥斯特洛司机 | 来源:发表于2019-04-08 16:42 被阅读0次

1、ngx_epoll_process_events函数调用位置
在子进程的for循环中。处理网络事件和定时器事件
会被不断地,多次地反复调用。
2、ngx_epoll_process_events函数内容
调用epoll_wait从双向链表中获取事件。拿到的是监听套接字上的可读事件。
2.1、事件驱动
通过获取到的事件,并通过事件调用适当的函数处理逻辑。

3、ngx_event_accept函数内容
ET:边缘触发,高速模式。
a、accept4
b、ngx_get_connection
3.1、epoll的两种工作模式:监听套接字直接设置为0。连接套接字才使用。
LT:水平触发,level trigger,这种工作模式是低速模式。效率差。
来一个事件,如果不用函数处理,就会一直被触发。epoll_wait一直返回。

           ET:edge trigger,边缘触发,这种工作模式是高速模式,效率好。
           缺省用LT模式。
          现状,所有的监听套接字用得都是水平触发,接入进来的用户套接字都是边缘触发。

相关文章

网友评论

      本文标题:5.7、通讯代码精粹之epoll函数实战2

      本文链接:https://www.haomeiwen.com/subject/gyhpiqtx.html