ACE_WIN32_Proactor sample http://blog.csdn.net/hxzb7215191/archive/2006/02/11/596809.aspx http://budd.eecs.oregonstate.edu/~archive/opensource/ace/examples/Reactor/Proactor/test_proactor2.cpp Boost.ASIO http://asio.sourceforge.net/boost-asio-proposal-0.3.6/libs/asio/doc/tutorial/index.html Implementation using Windows overlapped I/O On Windows NT, 2000 and XP, asio takes advantage of overlapped I/O to provide an efficient implementation of the Proactor design pattern. This implementation approach corresponds to the Proactor design pattern as follows:Asynchronous Operation Processor This is implemented by the operating system. Operations are initiated by calling an overlapped function such as AcceptEx.Completion Event Queue This is implemented by the operating system, and is associated with an I/O completion port. There is one I/O completion port for each boost::asio::io_service instance.Asynchronous Event Demultiplexer Called by asio to dequeue events and their associated completion handlers.
http://blog.csdn.net/hxzb7215191/archive/2006/02/11/596809.aspx
http://budd.eecs.oregonstate.edu/~archive/opensource/ace/examples/Reactor/Proactor/test_proactor2.cpp
Boost.ASIO
http://asio.sourceforge.net/boost-asio-proposal-0.3.6/libs/asio/doc/tutorial/index.html
Implementation using Windows overlapped I/O
On Windows NT, 2000 and XP, asio takes advantage of overlapped I/O to provide an efficient implementation of the Proactor design pattern. This implementation approach corresponds to the Proactor design pattern as follows:Asynchronous Operation Processor
This is implemented by the operating system. Operations are initiated by calling an overlapped function such as AcceptEx.Completion Event Queue
This is implemented by the operating system, and is associated with an I/O completion port. There is one I/O completion port for each boost::asio::io_service instance.Asynchronous Event Demultiplexer
Called by asio to dequeue events and their associated completion handlers.