社区
Linux/Unix社区
帖子详情
如果多个线程同时select同一个套接字会怎么样?可以这样吗?
wd_6532
2005-02-18 04:52:07
两个cpu
两个线程并行执行select,等待相同的100个socket,可以吗,会有什么问题?
...全文
481
10
打赏
收藏
如果多个线程同时select同一个套接字会怎么样?可以这样吗?
两个cpu 两个线程并行执行select,等待相同的100个socket,可以吗,会有什么问题?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不懂电脑
2005-02-24
打赏
举报
回复
只要互斥处理好了,应该没什么问题。
tengulre
2005-02-23
打赏
举报
回复
同意楼上.
gaoxianfeng
2005-02-23
打赏
举报
回复
领导说要多个线程recv,send.不可违
??
一般是多个线程处理多组不同的 fd
然后把数据线程内预处理
需要交互的再集中处理
wd_6532
2005-02-21
打赏
举报
回复
to zeusnchen:
我不是用阻塞方式.
我用的poll或者select的非阻塞模型,有数据才会调用recv函数,没有数据就在poll或者select函数上等待
zeusnchen
2005-02-21
打赏
举报
回复
sorry,偶以为你用的阻塞方式
那样的话,也会有问题三
你没法控制哪个thread收哪些数据了
当然要看你的目的了
呵呵
zeusnchen
2005-02-20
打赏
举报
回复
》我觉得只要不是几十个cpu,单个线程poll之后recv 和 多个线程poll recv是一样的,
》因为recv不会阻塞,仅仅是一个内存拷贝。
当然会阻塞,你第一次recv后就把接收缓冲里的东西可能收完了
下次再recv就要阻塞了
wd_6532
2005-02-20
打赏
举报
回复
领导说要多个线程recv,send.不可违。
我觉得只要不是几十个cpu,单个线程poll之后recv 和 多个线程poll recv是一样的,
因为recv不会阻塞,仅仅是一个内存拷贝。
看来只好用两个线程分别处理不同的socket组了。
至于send,就同步一下,每次send前,先锁一下这个socket对应的互斥锁。
ringerxyz
2005-02-19
打赏
举报
回复
楼上说的有道理,还有select可以在100个socket上执行吗?好像有最大限制的
zeusnchen
2005-02-18
打赏
举报
回复
只要socket的事件没有消失,select就会成功,所以你的各个线程要处理这个race condition
例如,socket a 有read事件,线程1select返回后,在调用处理这个read事件前,线程2可能
也会在a上select,它同样会得到read事件,如果它也去处理,就产生了race condition,
先处理read事件的线程pass,后面一个可能就会组塞了
不明白你为什么用多个线程去select同一堆socket?
或许应该让不同的线程负责不同的sockets,避免这种race condition?
tukey
2005-02-18
打赏
举报
回复
up
前端分析-2023071100789s47
前端分析-2023071100789s47
基于Django框架的企业微信集成开发平台_企业号API对接_消息推送与接收_用户管理_自定义菜单_身份验证_数据同步_移动办公解决方案_用于企业内部通讯与协作_提高工作效率_实现.zip
基于Django框架的企业微信集成开发平台_企业号API对接_消息推送与接收_用户管理_自定义菜单_身份验证_数据同步_移动办公解决方案_用于企业内部通讯与协作_提高工作效率_实现.zip
IMG_20250917_205649.jpg
IMG_20250917_205649.jpg
轻量化截图工具,包含32和64位
工具截图后可编辑拉标注,复制到剪切板直接粘贴使用,也可直接保存为图片文件。
教务管理系统_高等院校教学管理工具_基础维护学生信息班级信息课程信息课程图表教学管理学生逃课成绩录入成绩查询课程查询课表查询打印统计个人成绩统计个人成绩打印学生信息录入查询统计报表.zip
教务管理系统_高等院校教学管理工具_基础维护学生信息班级信息课程信息课程图表教学管理学生逃课成绩录入成绩查询课程查询课表查询打印统计个人成绩统计个人成绩打印学生信息录入查询统计报表.zip
Linux/Unix社区
23,215
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章