GIL is a mutex that allows only one thread to execute Python bytecode at a time.
What it means:
Why does it exist?
How to bypass:
1# Multiprocessing2from multiprocessing import Pool34def cpu_task(x):5 return x ** 267with Pool(4) as p:8 results = p.map(cpu_task, range(100))
Note: GIL is only in CPython. Other implementations (Jython, IronPython) don't have it.