select模型和重叠i/o 模型的优点、缺点

u012879806 2014-09-07 09:31:23
select模型和重叠i/o 模型的优点、缺点
...全文
382 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
select的有点看起来只有一个,那就是标准,这是伯克利的实现。重叠io是微软在WinSock上的实现。除了不够标准这一缺点之外,其他都完爆select模型
bsnry 2014-09-09
  • 打赏
  • 举报
回复
引用 4 楼 bsnry 的回复:
select 也是一种通知 套接字可读,可写,机制吧 本质不是异步 overlapped 是一种异步i/o的完成通知机制。 其二: 可以收到i/o完成通知后,不需要调用recv等函数去再次从系统缓冲区里拷贝到用户缓冲区里。 所以效率很高。 其三: 重叠结构体 不仅仅可以用在网络上,还可以用于很多上面,比如文件, 管道,等等。 其四: i/o异步的请求,但驱动程序不一定把i/o请求放到 队列中, 比如高速缓冲力有你要的数据, 那么驱动就采用同步的方式处理。 其五: 重叠结构体,还可以用于apc的方式,所以更加灵活
select 最糟糕的 地方select函数每次检测所有套接字,也就是轮训.
bsnry 2014-09-09
  • 打赏
  • 举报
回复
select 也是一种通知 套接字可读,可写,机制吧 本质不是异步 overlapped 是一种异步i/o的完成通知机制。 其二: 可以收到i/o完成通知后,不需要调用recv等函数去再次从系统缓冲区里拷贝到用户缓冲区里。 所以效率很高。 其三: 重叠结构体 不仅仅可以用在网络上,还可以用于很多上面,比如文件, 管道,等等。 其四: i/o异步的请求,但驱动程序不一定把i/o请求放到 队列中, 比如高速缓冲力有你要的数据, 那么驱动就采用同步的方式处理。 其五: 重叠结构体,还可以用于apc的方式,所以更加灵活
u012879806 2014-09-08
  • 打赏
  • 举报
回复
引用 1 楼 lovesmiles 的回复:
建议百度搜一些blog来看更好一些。
看了,我是想对2者做一个比较优缺点呢
勤奋的小游侠 2014-09-07
  • 打赏
  • 举报
回复
建议百度搜一些blog来看更好一些。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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