Embedding Python, threading and scalability

Paul Rubin http
Fri Jul 11 11:52:14 EDT 2003


aahz at pythoncraft.com (Aahz) writes:
> Not particularly.  Most threading at the application level is done for
> one or more of three purposes:
> 
> * Allowing background work and fast response in a GUI application
> 
> * Scalable I/O
> 
> * Autonomous sections of code for algorithmic simplicity (e.g.
> simulations)

Um, concurrent access by multiple clients for server applications?

> Python does quite well at all three out of the box (the second because
> all standard Python I/O modules release the GIL, as do most 3rd-party
> extensions that deal with I/O (e.g. mxODBC)).  The only thing Python
> doesn't do is computational threading, and Python's overhead makes it a
> poor choice for that purpose.  Finally, there are so many distributed
> computing solutions that multiple processes are a viable technique for
> managing computational threading.

Yeah, but now you need complicated and possibly slow mechanisms for
sharing global state between processes.




More information about the Python-list mailing list