社区
Linux_Kernel
帖子详情
底层socket数据收发是单线程的吧?
charles_great
2020-07-17 05:22:05
业务多线程针对不同连接send、recv处理socket数据的时候(业务收发并发),内核处理还是串行的吧?
...全文
16234
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处,因为时间短所以看似并行
为什么Redis是
单线程
?为什么能处理大并发量?(举例不错)
一、Redis为什么是
单线程
注意:redis
单线程
指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。 因为CPU不是Redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽,...
socket
是并发安全的吗?
虽然线程安全,但依然不建议你这么做,因为TCP本身是基于
数据
流的协议,一份完整的消息
数据
可能会分开多次去写/读,内核的锁只保证单次读/写
socket
是线程安全,锁的粒度并不覆盖整个完整消息。因此建议用一个线程去...
实现
Socket
大
数据
并行接收并存储
数据
库的多线程示例
传统的
单线程
数据
接收方式已经无法满足大规模
数据
的实时处理需求,因此并行接收技术应运而生。并行接收是指在
数据
处理系统中,将接收到的
数据
分散到多个处理单元中,同时进行
数据
的接收和处理,从而提高整个系统的...
Redis
单线程
还是多线程?
redis
单线程
还是多线程?
Redis
单线程
VS 多线程
主要是指Redis的网络IO的键值对读写是由一个线程来完成的,Redis在处理客户端的请求时包括获取(
socket
读)、解析执行内容返回(
socket
写)等都由一个顺序串行的主线程处理,这就是所谓的“
单线程
”。这也是 Redis...
Linux_Kernel
4,468
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章