IOCP中的一个由线程引起的怪现象

cdmar79 2007-11-02 07:57:17
IOCP开2个工作线程(用GetQueuedCompletionStatus),开1个看守线程(用WaitForSingleObject等待FD_ACCEPT的触发产生若干AcceptEx)。
当我关闭看守线程的时候,会在工作线程中捕捉到 GetQueuedCompletionStatus为false/GetLastError为995的异常若干次(有时2次,有时3次),
这时,我跟踪到的key是关联于主ListenSocket的,而IO中的伴随Socket则是未使用过的且不固定。
我测试的时候,客户端只是连接着、没有发送数据。

另,还有一个问题,如果有3个PostQueuedCompletionStatus是在某一个线程中(比如:主线程)一个接一个的抛出的,比如:Post A, Post B, Post C;
那么,工作线程中的GetQueuedCompletionStatus接收到的也是顺序的吗?(当然,这时假定工作线程只有1个)
...全文
91 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdmar79 2007-11-03
  • 打赏
  • 举报
回复
To dyw:
实在不好意思,我发贴以前,已经看过你说的这几个贴子了
因为在里面没有找到我想要的答案,所以才发本贴
还是请你多分析一下吧,谢谢
dyw 2007-11-02
  • 打赏
  • 举报
回复
My God!!!
captain_x 2007-11-02
  • 打赏
  • 举报
回复
^_^,追mm被拒的看到过很多,
回答问题被人拒的还是第一次看到
cdmar79 2007-11-02
  • 打赏
  • 举报
回复
这个。。。晕
你还是别回答了,thx anyway
cdmar79 2007-11-02
  • 打赏
  • 举报
回复
这个没用,早就看过了。。。。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧