Lock-Free Actor-Based Flow Programming in D2 for GSOC2011?
eris
jvburnes at gmail.com
Mon Jul 11 09:28:51 PDT 2011
My library uses a straight-forward reactor approach to handle incoming events (IO,
timer etc). The library is structured as one-thread-per-core and as many
co-routines (fibers) per thread as memory will allow. The threads communicate
with each other via lock-free single-writer, single-reader FIFOs.
Each threadCore has it's own reactor with the only limitation that only the
threadCore0 reactor (the default thread) can wait for signals / child processes.
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. Performance suffers a bit, but you pick
your platform and you takes your chances.
More information about the Digitalmars-d
mailing list