社区
Linux_Kernel
帖子详情
底层socket数据收发是单线程的吧?
charles_great
2020-07-17 05:22:05
业务多线程针对不同连接send、recv处理socket数据的时候(业务收发并发),内核处理还是串行的吧?
...全文
16164
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处,因为时间短所以看似并行
JAVA上百实例源码以及开源项目
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
JAVA上百实例源码以及开源项目源代码
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
为什么Redis是
单线程
?为什么能处理大并发量?(举例不错)
一、Redis为什么是
单线程
注意:redis
单线程
指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。 因为CPU不是Redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽,...
socket
是并发安全的吗?
虽然线程安全,但依然不建议你这么做,因为TCP本身是基于
数据
流的协议,一份完整的消息
数据
可能会分开多次去写/读,内核的锁只保证单次读/写
socket
是线程安全,锁的粒度并不覆盖整个完整消息。因此建议用一个线程去...
为什么Redis是
单线程
?为什么能处理大并发量?
一、Redis为什么是
单线程
注意:redis
单线程
指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。 因为CPU不是Redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽,...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章