ZLMediaKit 分析

本文探讨了基于epoll的多线程网络编程模型,详细介绍了如何通过多个线程监听同一端口,实现客户端连接的自动分配。文章还讨论了超时事件的处理方式、已建立TCP连接的读写操作及数据包处理策略,并提到了线程切换在数据转发过程中的应用。

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

一、

采用多个线程处于epoll wait状态,监听同一端口,收到客户端connect时,由内核自动选择一个epoll wait触发,同时加入一个epoll wait。

二、

超时事件添加任意一个poll中的,等待在对应poll所在的线程执行,如果取消也在对应poll线程取消。

三、

已成功建立的tcp连接读写都在建立时分配的线程执行,对于收到的数据包的处理也在对应的线程处理,没有计算线程池。

四、

转发数据时,由于不同的客户端的tcp连接在不同poll线程,所以需要线程切换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值