[Python-Dev] microthreading vs. async io
"Martin v. Löwis"
martin at v.loewis.de
Thu Feb 15 08:39:59 CET 2007
dustin at v.igoro.us schrieb:
> Asyncore *only* implements asynchronous IO -- any "tasks" performed in
> its context are the direct result of an IO operation, so it's hard to
> say it implements cooperative multitasking (and Josiah can correct me if
> I'm wrong, but I don't think it intends to).
I'm trying to correct you: By your definition, asyncore implements
cooperative multi-tasking. You didn't define 'task', but I understand
it as 'separate activity'. With asyncore, you can, for example, run
a web server and an IRC server in a single thread, as separate tasks,
and asyncore deals with the scheduling between these tasks.
In your terminology, it is based on continuations: the chunk you specify
is the event handler.
Indeed, asyncore's doc string starts with
# There are only two ways to have a program on a single
# processor do "more than one thing at a time".
and goes on suggesting that asyncore provides one of them.
Regards,
Martin
More information about the Python-Dev
mailing list