I have had less than stellar success with multiprocessing in non-trivial applications. There seems to be a lot of undesired "magic" going on, such as workers having access to global imports which causes all sorts of issues. If I want a worker to have access to a module, I should have to import it in that worker. The irony in trying to make a multi-processing module stop sharing state isn't lost on me.
I didn't actually read this article because it basically sounds like "this is a myth because of the GIL" which is just downright moronic. I completely disagree with the idea that concurrency is a "myth," I do however believe that it can be more trouble to successfully implement than in other languages designed for concurrency, even if (theoretically) all the tools are there.
RE: multiprocessing - Did you file any bugs on it? I agree that there is slightly too much magic, and I'm looking at reducing it - but bug reports and/or patches help me. Right now, my focus is on fixing the docs for 2.6.1 and 3.0 final and further expanding the tests.
I didn't file a bug report because I'm not entirely sure what I would file it as; "Excessive use of magic?".
What happened in my case is that when using multiprocessing with Django, if a database connection is opened by the main process to make a query that connection is kept open and workers end up using it instead of spawning their own. If I manually close the connection, they all make their own. This isn't sufficient, however, because global imports related to transaction support still manage to step on each other when queries are run concurrently. This turns out to be a pretty rare race condition, but it does happen.
I didn't actually read this article because it basically sounds like "this is a myth because of the GIL" which is just downright moronic. I completely disagree with the idea that concurrency is a "myth," I do however believe that it can be more trouble to successfully implement than in other languages designed for concurrency, even if (theoretically) all the tools are there.