SOCKET的非阻塞模式与多线程编程

sxqlyy 2007-05-09 09:08:27
刚刚在网上看了一些关于SOCKET的阻塞 非阻塞的资料
既然非阻塞模式是在调用了函数就先返回 不等待函数的执行

那么是不是说采用了非阻塞模式就没必要为程序使用多线程编程了??
...全文
463 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterz 2007-05-12
  • 打赏
  • 举报
回复
danscort2000(danscort.yu)是对的,
微软讲了它们的区别
http://support.microsoft.com/kb/q181611/en
Socket overlapped I/O versus blocking/nonblocking mode
woaifenfen 2007-05-12
  • 打赏
  • 举报
回复
那么是不是说采用了非阻塞模式就没必要为程序使用多线程编程了??

-------------------------------

选择非阻塞,你就选择了轮循,当连接数很大时,效率会高吗?
danscort2000 2007-05-10
  • 打赏
  • 举报
回复
既然非阻塞模式是在调用了函数就先返回 不等待函数的执行

错了,这个是异步,而不是非阻塞
非阻塞是执行到阻塞或者发送或者接收或者发生错误为止立即返回
而不是一调用就返回,调用就返回,那是异步执行

masterz 2007-05-09
  • 打赏
  • 举报
回复
基本正确,一般非阻塞方式使用1~2个工作线程就可以了
zottff 2007-05-09
  • 打赏
  • 举报
回复
呵呵,如果不使用CSocket, 非阻塞模式就是用多线程编程才能实现
fairyprince 2007-05-09
  • 打赏
  • 举报
回复
如果是少量通信,可以不使用,因为可能不会发生请求重叠
如果作为服务,就有必要了,如果是处理大规模请求服务,要用完成端口

18,356

社区成员

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

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