Коротко
GIL (Global Interpreter Lock) в CPython — замок, из‑за которого в один момент байткод Python выполняет только один поток внутри процесса.
На что влияет
- CPU-bound задачи на
threadingпочти не ускоряются на нескольких ядрах. - I/O-bound (сеть, диск) — потоки всё ещё полезны: пока один ждёт I/O, другой может работать.
- Для параллелизма по CPU:
multiprocessing, отдельные процессы, нативные расширения, иногда другие интерпретаторы.
Короткий ответ
«GIL в CPython не даёт двум потокам одновременно исполнять Python-байткод. Для CPU — процессы, для I/O — потоки/async нормальны.»