The GIL (Global Interpreter Lock) is a mutex in CPython (the standard Python implementation) that allows only one thread to execute Python bytecode at a time. This means Python threads cannot run Python code in true parallel on multiple CPU cores — a major consideration for concurrency.
What the GIL means in practice
Even with multiple threads on a multi-core CPU:
Only ONE thread runs Python bytecode at any instant.
→ Threading does NOT give CPU-bound parallelism in CPython.
