社区
Linux_Kernel
帖子详情
底层socket数据收发是单线程的吧?
charles_great
2020-07-17 05:22:05
业务多线程针对不同连接send、recv处理socket数据的时候(业务收发并发),内核处理还是串行的吧?
...全文
16264
3
打赏
收藏
底层socket数据收发是单线程的吧?
业务多线程针对不同连接send、recv处理socket数据的时候(业务收发并发),内核处理还是串行的吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
superwiles
2020-08-04
打赏
举报
回复
这个影响的因素很多, 主要要看 网卡是不是 multi queue, 如果是 multi queue, 那么 IO就并不是串行的, 还要看是不是打开了RFS etc 整个协议栈向上过程中 还会有很多 queue,要来竞争锁。
weiwei11234567890
2021-09-08
举报
回复
@superwiles
补充一下,multi queue这个也要看下是不是多核cpu,如果是单核那还是串行..
山椒π
2020-07-17
打赏
举报
回复
是,单个网卡会卡在IO处,因为时间短所以看似并行
深入浅出 TCP
Socket
编程:从
单线程
阻塞到多线程并发实战
本文深入讲解TCP
Socket
编程核心原理,涵盖TCP三次握手与四次挥手、
Socket
通信机制及C/S架构模型。通过C语言实例,演示从
单线程
阻塞到多线程并发的演进过程,分析性能瓶颈并引入线程池优化方案,帮助开发者构建高效稳定的网络服务。
合宙LuatOS
socket
模块:从协程调度到
数据
收发
的深度解析
本文深入剖析合宙LuatOS中
socket
模块的协程驱动架构,涵盖
socket
对象创建与元表绑定、connect/connect超时挂起与
底层
唤醒机制、send分片发送与流量控制、recv阻塞/消息中断双模接收、缓冲区设计原理,以及主动/被动关闭下的资源清理逻辑。重点揭示其如何在
单线程
Lua环境中实现高并发、低耦合的异步网络通信,支撑物联网设备多连接稳定运行。
Socket
网络编程:TCP与UDP
本文系统讲解
Socket
网络编程核心原理,涵盖TCP/UDP协议差异、
socket
创建(
socket
)、地址绑定(bind)、连接监听(listen)、接受连接(accept)、发起连接(connect)、
数据
收发
(send/recv)及关闭(close)等关键函数;深入剖析阻塞/非阻塞IO模型,并重点对比select、poll、epoll三种IO多路复用机制的原理、
数据
结构与性能差异,指出epoll基于红黑树与回调机制的优势。
深度解析网络编程套接字:从
Socket
底层
原理到 Java 高性能实战
本文深入讲解网络编程中
Socket
的
底层
原理,详细对比TCP与UDP协议特性,分析粘包、端口占用等常见问题,并结合Java实现UDP回显服务器及基于线程池的高性能TCP服务端,帮助读者掌握高并发网络编程核心技术。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章