3 ms·
Thanks for the detailed answer. Correct me if I'm wrong, but from what you've said I take it that the GIL issue has not been resolved (i.e. the Python interpre
by RossBencina 7y ago
Thanks for the detailed answer.
Correct me if I'm wrong, but from what you've said I take it that the GIL issue has not been resolved (i.e. the Python interpreter is not thread-safe, Python still can't have a single process, with a single Python interpreter, running multiple CPU-bound threads all doing useful compute in Python, running against a single unified local memory space containing all of the objects, as you would in say C or C++). The only option is to resort to more elaborate schemes involving multiple processes, multiple interpreters, and explicitly managed shared memory windows -- but all of these options are in place now, so there is at least a solution to most common use cases, even if it's not as simple as in other languages with proper support for threads and shared local memory.
- BiteCode_dev 7y agoThere are been many attempt to create a different design without the GIL. None of them made it to cPython. The whole language assume it's safe to mutate things around. E.G: list.append() is assumed to be thread safe.