我需要了解什么才能理解 I/O 完成端口?

What do I need to know in order to undersrtand I/O Completion Ports?

抱歉这个愚蠢的问题:-)

我发现处理数百(甚至数千)个套接字连接的最佳方法是使用 I/O 完成端口,但我很难理解该主题的教程。我的问题是在真正理解 I/O 完成端口之前我应该​​先了解哪些主题?我能想到的主题只有线程池,还有什么?

我会说你需要明白:

  1. 传统的 poll/readiness 模型是如何工作的(这不是针对 IOCP 本身,它是完全不同,但由于绝大多数套接字 I/O 是使用前者执行的,因此区分,特别是 避免 前者的语义是有用的)。

  2. 为什么IOCP优于轮询模型;它有何不同以及它为 table

  3. 带来了什么
  4. 所有权的概念。 IOCP 依赖于它可以在给定操作的整个持续时间内拥有内存这一事实。

  5. 排队或挂起 I/O 操作,并异步处理队列

  6. 回调