Lock-Free Actor-Based Flow Programming in D2 for GSOC2011?

Piotr Szturmaj bncrbme at jadamspam.pl
Tue Jul 12 03:10:54 PDT 2011


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.


More information about the Digitalmars-d mailing list