天天看点

异步设备IO 《windows核心编程》第10章学习

在CreateFile里的FILE_FLAG_OVERLAPPED标志

异步操作函数LPOVERLAPPED参数

触发设备内核对象

缺点:同一个设备内核对象有可能进行多次读写操作,这样第一个完成这个设备内核对象就会被触发,所以这种方式不可以使用于这种情形

触发事件内核对象

可提醒IO

可提醒IO的优劣:

(1)由于回调函数的原因,最终不得不把大量信息放在全局变量中。使代码变的更加复杂

(2)发出请求线程和完成处理必须是同一线程,没有达到线程负载均衡

可提醒IO相关函数

(1)QueueUserAPC函数

     a.这个函数允许我们手动增加APC项。

     b.可以强制线程退出等待状态比如WaitForSingleObjectEx 以下是示例代码

I/O完成端口

待续

继续阅读