博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月18日

摘要: 调用GetQueuedCompletionStatus函数,某个线程就会等待一个完成包进入到完成端口的队列中,而不是直接等待异步I/O请求完成。线程(们)就会阻塞于它们的运行在完成端口(按照后进先出队列顺序的被释放)。这就意味着当一个完成包进入到完成端口的队列中时,系统会释放最近被阻塞在该完成端口的线程。(自己用线程池来模拟完成端口的话,主要的性能问题会在这里出现,操作系统调度线程的算法和完成端口调度线程的算法相反。) 最有效的假想是发生在有完成包在队列中等待,而没有等待被满足,因为此时完成端口达到了其并发量的极限。此时,一个正在运行中的线程调用GetQueuedCompletionSt... 阅读全文

posted @ 2012-03-18 17:56 qianyz 阅读(208) 评论(0) 推荐(0) 编辑