Что такое GIL в Python
GIL (Global Interpreter Lock -Глобальная блокировка интерпретатора) - это механизм в CPython (основа реализации Python), который позволяет только одному потоку выполняться в один момент времени, даже на многопроцессорных системах.
Иными словами: при запуске нескольких потоков в Python код не может параллельно исполняться на разных ядрах процессора. Интерпретатор передает выполнение кода поочередно сначала одному потоку, потом другому.
GIL - это мьютекс (lock), который ограничивает выполнение байт-кода Python только одним потоком за раз.
Пример / Аналогия:
В элитный интернет-маркет пригласили на распродажу 100 VIP клиентов, при этом ключ доступа для покупки только один и покупку может сделать только тот у кого он на “руках”. После того первый как избранный завершил свою покупку, происходит переход ключа к следующему избранному. Так и поток переключается в Python.
