On Sat, Nov 4, 2017 at 2:45 AM, Steve D'Aprano <steve+pyt...@pearwood.info> wrote: > So, all else being equal, which is likely to have more bugs? > > > 1. Multiprocessing code with very little coupling between processes; or > > 2. Threaded code with shared data and hence higher coupling between threads? >
Obviously, option 1. But that's "all else being equal". How often can you actually have your processes that decoupled? And if you can write your code to be completely (or largely) decoupled, what's to stop you having your *threads* equally decoupled? You're assuming that "running in the same memoryspace" equates to "higher coupling", which is no more proven than any other assertion. Ultimately, real-world code IS going to have some measure of coupling (you could concoct a scenario in which requests are handled 100% independent of each other, but even with a web application, there's going to be SOME connection between different requests), so all you do is move it around (eg in a web app scenario, the most common solution is to do all coupling through a database or equivalent). ChrisA -- https://mail.python.org/mailman/listinfo/python-list