[Python-Dev] async IO and helper threads (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Sun Oct 9 21:02:16 CEST 2005


Le dimanche 09 octobre 2005 à 07:46 -0700, Guido van Rossum a écrit :

I also think that using a thread for async I/O is the wrong approach -- if you wanted to use threads shou should be using threads and you wouldn't be dealing with generators. There's a solution that uses select() which can handle as many sockets as you want without threads and without the clumsy polling

select() works with sockets. But nothing else if you want to stay cross-platform, so async file IO and other things remain open questions. By the way, you don't need clumsy polling to wait for helper threads ;) You can just use a ConditionVariable from the threading package (or something else with the same semantics).

BTW, I'm not arguing at all for the extension proposal. Integrating async stuff into generators does not need an API extension IMO. I'm already doing it in my scheduler. An example which just waits for an external command to finish and periodically spins a character in the meantime: http://svn.berlios.de/viewcvs/tasklets/trunk/examples/popen1.py?view=markup The scheduler code is here: http://svn.berlios.de/viewcvs/tasklets/trunk/softlets/core/switcher.py?view=markup

Regards

Antoine.



More information about the Python-Dev mailing list