From: Jonathan Wakely (cow_at_[hidden])
Date: 2005-03-29 09:07:20
On Tue, Mar 29, 2005 at 04:36:42PM +0300, Boris wrote:
> Robert Ramey wrote:
> > Windows has the concept of "Overlapped I/O" which permits dispatch of
> > an i/o request that invokes a call back when done.
> > Posix has aio which functions (I believe) in a similar way.
> > So one has the concept of asyncronous i/o without any explicit
> > reference to threads at least at the application level.
> I am not sure if I understand correctly. Just as Don I think we can't get
> around threads when we have callbacks. I don't know about Windows but the
> callback in aio (Posix) is done by creating a new thread.
How the kernel chooses to implement the aio system calls is an
implementation detail - it certainly doesn't require use of Boost.Thread
types! I think what Robert was saying is that an application can use
POSIX aio without ever having to use or know about POSIX threads.
You and Don seem to be requiring that the application explicitly create
and manage threads. Several people have suggested they'd like to use
some form of AIO without having to use threads.