5. I/O 完了ポート 5.1 概要 I/O 完了ポート (I/O Completion Port, IOCP) を使った非同期 I/O は、特に高性能なサーバー開発に欠かせない知識です。ワーカースレッドプールと I/O 処理がうまく協調して動く、大変優れた方法です。 IOCP を使う典型的なコードは次 のような流れになります。 IOCP を作成 ・ 同時実行数 M 個を指定 ・ CreateIoCompletionPort API で作成 ワーカースレッドプールを作成 ・ ワーカースレッドは GetQueuedCompletionStatus API の呼び出しでブロックする ・ スレッド数は 同時実行数 M 個+N 個 =M + N 個 (後述) ・ スレッドは普通に _beginthreadex や CreateThread で作成。 ファイルを開く ・ CreateFile など

