Last Updated: June 6, 2026
Threads in Python share one interpreter and one Global Interpreter Lock, which means only one of them runs Python bytecode at a time. For work that's CPU-bound (compressing an image, hashing a file, scoring a recommendation), threads don't help you go faster. multiprocessing is the workaround: it launches separate Python processes, each with its own interpreter and its own GIL, so they can actually run in parallel on different CPU cores.