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