Chinaunix首页 | 论坛 | 博客
  • 博客访问: 643967
  • 博文数量: 151
  • 博客积分: 3498
  • 博客等级: 中校
  • 技术积分: 1570
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-28 18:10
文章分类

全部博文(151)

文章存档

2014年(12)

2013年(17)

2012年(17)

2011年(5)

2010年(12)

2009年(2)

2007年(26)

2006年(22)

2005年(38)

分类: WINDOWS

2010-06-16 01:29:37

重叠IO操作可以通过File Handle,Event handle(WaitFor....)和APC(Routine),还有Complete Port(Queue Wait)来实现。
   特别是在设计服务器程序时,为了达到scalabe目的,一般系统构架使用Complete port + 多线程 + Overlapped I/O,步骤如下:
  1)创建一个I/O Complete port.
  2)绑定File Handle到Complete port
  3)创建多个线程。
  4)让线程在Complete Port上等待。
  5)开始对那个File Handle发出一些Overlapped I/O 请求。

 比如说socket handle,也只能使用ReadFile和WriteFile函数了,因为他们才能发出Overlapped操作。而socket的标准函数recv和send是不行的,他们没有异步I/O的能力哦。



阅读(1179) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~