1 如果一个程序中 有一个线程用套接字去监听本机80端口 被阻塞时候 由于windows不可能让这个线程一直霸占CPU Windows会怎么做呢?该怎样调度这个线程呢?我觉得如果调离了这个线程或者挂起了这个线程 那么岂不是来了消息也不一定能接收到了吗?2 有没有这样的情况 80端口是很重要的端口 很多程序恐怕都要去监听它 那么会不会有这样的情况 某个程序的某个线程正在等待对方一个回复 但是被调度走了 结果回复被另一个无关的线程得到 这样3 我写的一个程序 在对一个消息的响应后(比如单击某按钮) 立刻去开启一个线程 并用套接字去监听80端口 结果程序编译 链接没有问题 但是当响应我的消息的时候(比如我点击了那个按钮)总是会引发一个中断 说是调用了WSACancelBlockingCall这个函数 这个函数貌似就是取消我的阻塞(监听ing) 我该怎么样处理呢?我就是要改程序去监听80端口啊 结果一监听就被中断高手指点指点我 不一定要全部回答 您知道多少就指点我多少 小弟感谢不尽
问题3 我已经跟踪了 知道是调用了WSACancelBlockingCall这个函数 才导致的中断 我就不理解问什么要调用这个函数 破坏了阻塞线程
你这个子线程的功能本身就是用来阻塞,监听端口啊,有何不可,你不需要塔监听可以退出线程就是了。
1 为什么会被调用?
2 什么时候被调用 难道一个线程accepet了绑定了80端口的套接字 等待连接 被阻塞 一定会被WSACancelBlockingCall这个函数破坏阻塞?晕了