IO 完了ポートが完了すると実際に何が起こるかについて、少し混乱しています。
Win API は、特定のハンドル (ソケットとしましょう) を持つコールバック参照を何らかの方法でキューに入れる (またはスタックする) ことができる IOCP キューへのアクセスを許可していると思います。Windows が NIC から割り込みを受信すると、ある時点で NIC の IOCP キューに到達し、独自の(IOCP) スレッド プールでコールバックを実行します。
私の質問は、割り込みが受信されたときに生成されたスレッドプールからのこのスレッドですか、それとも実際にはWin APIへの呼び出しが行われたときに生成され、IOCPによって起こされるまでスレッドを効果的に待機状態にします列?
編集:私は
これを見つけました: http://msmvps.com/blogs/luisabreu/archive/2009/06/04/multithreading-io-and-the-thread-pool.aspxは、その I/O 完了ポートでパケットをキューに入れます。ポートは次に進み、スレッド プールのスレッドの 1 つを使用して、指定したコールバックを実行します。」