首页
注册
登录
johnshopkins 最近的时间轴更新
johnshopkins
V2EX 第 637871 号会员,加入于 2023-07-10 19:06:52 +08:00
johnshopkins
提问
技术话题
好玩
工作信息
交易信息
城市相关
根据 johnshopkins 的设置,主题列表被隐藏
二手交易
相关的信息,包括已关闭的交易,不会被隐藏
johnshopkins 最近回复了
299 天前
回复了
0littleboy
创建的主题
›
程序员
›
网络编程多个 epoll 线程有何作用?
epoll_wait 返回后,可以遍历触发事件的列表,结构体里面包含了套接字,(如果是 listen 套接字就说明有新晋的客户端需要建立新连接,如果是之前已经建立连接的 对端套接字,那这种情况下根据是可读可写标志做判断,如果读到零,说明客户机需要关闭连接,这种需要调用 shutdown 关闭套接字)。
299 天前
回复了
0littleboy
创建的主题
›
程序员
›
网络编程多个 epoll 线程有何作用?
@
julyclyde
不是 listen 完,有客户上来内核就自动做好 TCP 连接。这里必须由用户的进程主动调用 accept 函数(不管异步与否),然后由中断切换到系统调用 sys_accept4 返回客户机地址及套接字,这个过程没有 epoll 也是可以的,epoll 只是提高了效率,不是必要条件。
312 天前
回复了
0littleboy
创建的主题
›
程序员
›
网络编程多个 epoll 线程有何作用?
参照 nginx ,epoll_wait 专门一个 master 进程可以用作套接字的 三次握手、四次挥手;和读、写数据包的事件通知——仅仅做通知。
真正耗费时间的是读、写数据包和期间的业务处理过程,所以放到单独 worker 下最佳。可以显著避免阻塞 epoll_wait 进程。想要 高并发必须要做的。
»
johnshopkins 创建的更多回复
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2208 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms ·
UTC 03:06
·
PVG 11:06
·
LAX 20:06
·
JFK 23:06
Developed with
CodeLauncher
♥ Do have faith in what you're doing.