一个困扰我n久的同步问题,大家帮忙啊!!!
一个网络服务端采用异步IO
流程如下:
服务端有一个死循环采用 select 逐个检查每个套接字(tcp)的可读,可写性
一个套接字对应一个link
服务端在某个套接字上读到数据后转交到该套接字所对应的link来处理
link 从他自己的接收缓冲中分析出一条或多条命令 然后将这些命令挂到一个专门的
命令处理线程处理 该线程处理完后将要回送的数据写到该link的发送缓冲中
等待link 所对应的套接字在服务端死循环中在可写时被发送出去
问题就在 如何处理服务端死循环发送某套接字数据 和 命令处理线程向某套接字发送缓冲写数据 时的同步!!!
假如对每个套接字都用关键段 那么服务端假如有很多的连接的话 可以承受得了吗??
如果用一个关键段老同步所有的操作又显得效率底下了
套接字的发送缓冲为一个队列
在此向大家请教!!!!!
流程如下:
服务端有一个死循环采用 select 逐个检查每个套接字(tcp)的可读,可写性
一个套接字对应一个link
服务端在某个套接字上读到数据后转交到该套接字所对应的link来处理
link 从他自己的接收缓冲中分析出一条或多条命令 然后将这些命令挂到一个专门的
命令处理线程处理 该线程处理完后将要回送的数据写到该link的发送缓冲中
等待link 所对应的套接字在服务端死循环中在可写时被发送出去
问题就在 如何处理服务端死循环发送某套接字数据 和 命令处理线程向某套接字发送缓冲写数据 时的同步!!!
假如对每个套接字都用关键段 那么服务端假如有很多的连接的话 可以承受得了吗??
如果用一个关键段老同步所有的操作又显得效率底下了
套接字的发送缓冲为一个队列
在此向大家请教!!!!!
...全文
相关推荐
MySQL 8.0新特性:彻底解决困扰运维的复制延迟问题,你信吗?1
MySQL 5.5引入了半同步复制插件,确保事务在被写入从节点的relay log后才提交,增强了数据完整性,但并未解决复制延迟的根本问题。
解决了个困扰了2天的问题,定点运算问题
分母变小了,相当于左移了 代码如下:a=1-b/c;|b|<pow n|c|=pow(2,26)|a| u4ee3码如下:a<<=8;是无法保证a的精度的。今天快要下班时,突然有灵机一动:>>=6;b
NGEmu:一个N-Gage仿真器
**保存/加载状态**:这个功能允许用户随时保存游戏进度,以便稍后继续,避免了重新开始的困扰。6. **调试工具**:对于开发者和高级用户,NGEmu可能包含调试工具,以帮助分析游戏运行时的问题。
orai18n.jar
《orai18n.jar:Oracle数据库中文乱码问题的解决方案》在处理与Oracle数据库交互的过程中,我们经常遇到一个棘手的问题——中文字符显示为乱码。
google日历S60手机同步软件
然而,如何在非Android系统的手机,如S60平台的手机上实现与Google日历的同步,就成了一个需求。


网络编程
