Что такое GIL и как его обойти?
Python
Senior
Яндекс
01.01.2025
Объясните, что такое GIL (Global Interpreter Lock) в CPython, и перечислите способы его обхода при выполнении параллельного кода.
Ответы
Ответ
```
GIL — это глобальная блокировка интерпретатора, позволяющая выполнять байткод только одному потоку.
Обход:
- multiprocessing (процессы вместо потоков)
- C-расширения
- NumPy / Pandas (часть работы выполняют вне GIL)
- asyncio (I/O bound)
```