IOCP 是 Windows 平台专有的高并发异步 I/O 机制 - 第1页 - 码农库
 
首页 /编程语言和算法/其它语言
 IOCP 是 Windows 平台专有的高并发异步 I/O 机制
今天 19:55

‌IOCP(输入输出完成端口)‌是 Windows 平台专有的高并发异步 I/O 机制,全称 Input/Output Completion Port,最早在 Windows NT 3.5 版本引入,主要用于 C/S 架构网络服务器高效处理大量并发连接 。‌‌

IOCP 是怎么工作的

‌线程池模型‌:系统维护一个线程池,工作线程数量通常‌与 CPU 核心数相同‌,避免传统"一个连接一个线程"导致的线程切换开销过大问题 。‌‌

‌双队列机制‌:

‌I/O 完成队列(FIFO)‌:异步 I/O 操作完成后,完成包按先进先出顺序进入队列。

‌等待线程队列(LIFO)‌:调用 GetQueuedCompletionStatus 的线程按后进先出顺序阻塞等待,减少线程切换代价。‌‌

‌完成通知流程‌:应用程序投递异步 I/O 请求后无需等待,系统在完成时自动将完成包放入队列,工作线程从队列取出完成包并处理数据 。‌‌‌

第三方库:

asio/libuv


 
全部回复(0)
首页 | 电脑版 |