is there enough information?

Jean-Paul Calderone exarkun at divmod.com
Mon Mar 3 08:11:43 EST 2008


On Tue, 26 Feb 2008 21:45:24 -0800, Dennis Lee Bieber <wlfraed at ix.netcom.com> wrote:
> [snip]
>
>	Threads, in Python, are good for parallel processing of items that
>tend to be I/O bound -- that is, stuff that blocks on lots of I/O calls
>allowing other threads to execute until they block too. Due to the GIL
>in the common Python implementation, threading is not useful for
>number-crunching (CPU bound) processing.
>
>	Now, there is a very vocal group that recommend Twisted style
>asynchronous call-backs for everything in the world... But I think that
>group tends to forget that Windows I/O is incompatible with the
>low-level select() call often used to do parallel I/O -- leaving it only
>useful for the network socket I/O, but not local file I/O processing.

I'm not sure, but you seem to be implying that the only way to use Windows'
asynchronous I/O APIs is with threads.  Actually, it is possible (and Twisted
allows you) to use these as well without writing a threaded application.

Perhaps you think it would be better to use them with threads, but that's
certainly not the _only_ way to use them as you implied.

Jean-Paul



More information about the Python-list mailing list