April 2017
Intermediate to advanced
556 pages
11h 5m
English
In Python there is, a global lock that prevents multiple threads from executing native bytecode at once. This lock is required, since the memory management of CPython (the native implementation of Python) is not thread-safe.
This lock is called Global Interpreter Lock or just GIL.
Python cannot execute bytecode operations concurrently on CPUs due to the GIL. Hence, Python becomes almost unsuitable for the following cases:
I/O calls and long-running operations typically occur outside the GIL. Therefore, multithreading ...