Python global interpreter lock

May 4, 2015, 12:08 a.m.

CPython employs a global interpreter lock. In short, multithreading in a single Python process will not speed up computations, even on a multicore machine (and in fact, it will even slow them down!).

Non-CPU-bound workload still benefits (e.g. managing multiple sockets). But for CPU-bound workload, go for multiprocessing.