[Python-Dev] generic async io (was: microthreading vs. async io)
Nick Maclaren
nmm1 at cus.cam.ac.uk
Fri Feb 16 09:58:11 CET 2007
Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
>
> > An I/O operation passes a buffer, length, file and action and receives a
> > token back.
>
> You seem to be using the word "threading" in a completely
> different way than usual here, which may be causing some
> confusion.
Not really, though I may have been unclear again. Here is why that
approach is best regarded as a threading concept:
Perhaps the main current approach to using threads to implement
asynchronous I/O operates by the main threads doing just that, and
the I/O threads transferring the data synchronously. The reason
that a token is needed is to avoid a synchronous data copy that
blocks both threads.
My general point is that all experience is that asynchronous I/O is
best done by separating it completely from threads, and defining a
proper asynchronous but NOT threaded interface.
Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email: nmm1 at cam.ac.uk
Tel.: +44 1223 334761 Fax: +44 1223 334679
More information about the Python-Dev
mailing list