About to show my ignorance, but when is multithreading useful when multiprocessing is not? Assuming it is a use case that is suited for a high level dynamic language to begin with.
About to show my ignorance, but when is multithreading useful when multiprocessing is not? Assuming it is a use case that is suited for a high level dynamic language to begin with.
This only matters for performance-critical applications.
That kind of sounds like you're nitpicking over an implementation detail. Which brings me back to my original confusion. If I have an interface that allows me to articulate concurrent tasks, I don't see the difference between threads, processes, or separate machines.
Again, this is assuming we're not in a resource constrained environment, and we're not doing something so processor heavy that it really should be compiled.
Python threads are real threads, and things like blocking socket IO does not block Python execution in other threads.