IO Completion Port in Windows 2000
Posted on 2002-05-02
I am developing client/server application. Now I have one server based on IO completion port. ie,
using CreateIoCompletionPort and GetQueuedCompletionStatus. One thread accept socket connection and
other worker threads wait for IO Completion in GetQueuedCompletionStatus.
In Windows 2000 there is new method named, BindIoCompletionCallback() for IOCP. It use thread pooling.
So I can use any of the two methos, ie either CreateIoCompletionPort() or BindIoCompletionCallback().
Which is better. What are the advantages/disadvantages....
If using CreateIoCompletionPort() function the thread count is usually No. of Processor * 2. What
about BindIoCompletionCallback(). Does system limit the number of threads that run same time ?.
My server will run only on Windows 2000.
And my final doubt is how IIS and other high-end servers handle Asynchronous IO.