Kagamin wrote:
eris Wrote:

Windows uses a "proactor" model instead of reactor, so it schedules I/O first 
and
then waits for an IO completion flag. I've modified my reactor so that it 
presents
a reactor facade even on Windows systems.

Huh? What does it change? IO is done pretty much the same on all systems: 
client requests an io operation, OS send the thread to sleep until the 
operation is complete.

You mean synchronous blocking IO. Proactor in Windows means asynchronous non-blocking IO (overlapped IO) and completion ports. Client may request multiple IO operations and its thread is not put to sleep. Instead, client receives all completed operations using GetQueuedCompletionStatus() or using callback function.

Reply via email to