首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

socket多线程服务器中FD_SET如何清理

2012-01-30 
socket多线程服务器中FD_SET怎么清理?服务器结构:主线程accept后将套接字放入FD_SET,管理线程select可用so

socket多线程服务器中FD_SET怎么清理?
服务器结构:
主线程         accept   后将套接字放入FD_SET,
管理线程     select   可用socket并传给某个线程,唤醒这个线程
工作线程     recv数据,完成后清理掉FD_SET中这个socket.


问题如下:
FD_SET无法清空,日志跟踪证明同步通过,清理函数正确完成,
但是那个socket还是在FD_SET里.

why???


[解决办法]
不知你为何这么实现,具体又是怎么实现的。
看一下Windows网络编程
[解决办法]
前面加个volatile看看,另外是不是有多个SOCKET同时就绪,而你没有控制好啊?
不过感觉你的实现有点偏门,线程间切换大约1000个CPU,你3个线程连续频繁切换,这个那个。。。

热点排行