Windows之IOCP

2021/10/12

Kkem Chen

  • IOCP全称I/O Completion Port,中文译为I/O完成端口。IOCP是一个异步I/O的Windows API,它可以高效地将I/O事件通知给应用程序,类似于Linux中的Epoll,关于epoll可以参考 linux之epoll

1. 简介

  I/O 完成端口是应用程序使用线程池处理异步 I/O 请求的一种机制。处理多个并发异步I/O请求时,使用 I/O 完成端口比在 I/O 请求时创建线程更快更高效。

2.IOCP优点

基于IOCP的开发是异步IO的,决定了IOCP所实现的服务器的高吞吐量。

通过引入IOCP,会大大减少Thread切换带来的额外开销,最小化的线程上下文切换,减少线程切换带来的巨大开销,让CPU把大量的事件用于线程的运行。当与该完成端口相关联的可运行线程的总数目达到了该并发量,系统就会阻塞,


相关链接:
Windows之IOCP
C++Socket编程—socket网络模型之IOCP
Windows下的IOCP模型(一):介绍与简单使用


comments powered by Disqus