johnshopkins 最近的时间轴更新
johnshopkins

johnshopkins

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