一个困扰我n久的同步问题,大家帮忙啊!!!

clicksoft clicksoft 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一个网络服务端采用异步IO

流程如下:

服务端有一个死循环采用 select 逐个检查每个套接字(tcp)的可读,可写性
一个套接字对应一个link

服务端在某个套接字上读到数据后转交到该套接字所对应的link来处理

link 从他自己的接收缓冲中分析出一条或多条命令 然后将这些命令挂到一个专门的
命令处理线程处理 该线程处理完后将要回送的数据写到该link的发送缓冲中
等待link 所对应的套接字在服务端死循环中在可写时被发送出去

问题就在 如何处理服务端死循环发送某套接字数据 和 命令处理线程向某套接字发送缓冲写数据 时的同步!!!

假如对每个套接字都用关键段 那么服务端假如有很多的连接的话 可以承受得了吗??

如果用一个关键段老同步所有的操作又显得效率底下了

套接字的发送缓冲为一个队列


在此向大家请教!!!!!
...全文
评论 23
收藏 已收藏
分享
返回顶部
clicksoft
网络编程 18,356 成员 64,161 内容