Что такое GIL в Python

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