Blake Winton wrote:
My understanding (as a long time Python user) is that Python isn't interested in the billion-threads "solution" to multi-processing, (Guido seems to think, and I agree with him, that multi-threaded programs are too hard/impossible to get correct) and would rather see a different "fix" for the problem, whatever that may be. Shared-nothing/Multiple-processes seems like a contender.
Starting up multiple Python processes is *very* heavyweight.
Communicating between those processes is also heavyweight.
The Python "solution" of starting multiple processes and talking through sockets is, quite simply, garbage.
The issue isn't "threads" or processes per se. Threads or processes could be fine, it's just that they're too heavy on an OS. Look at all the optimization and work people put in to make Apache scale on an OS.
The real issue is that no current language except Erlang supports message passing as an easy primitive between "threads".
A solution to concurrency will be the issue that dethrones the current languages. I know that I'm looking.
-a