Back to questions
Middle
1
Что такое GIL?
Companies where asked
Saber Interactive
Answer from AI
sobes.tech AI
GIL (Global Interpreter Lock) — это механизм в CPython, который обеспечивает, что в каждый момент времени только один поток выполняет байт-код Python.
Это сделано для упрощения управления памятью и предотвращения проблем с потокобезопасностью в интерпретаторе. Из-за GIL многопоточные Python-программы не могут эффективно использовать несколько ядер процессора для CPU-bound задач.
Для обхода GIL используют:
- Многопроцессность (модуль multiprocessing)
- Расширения на C, которые освобождают GIL во время выполнения тяжелых вычислений
- Альтернативные реализации Python без GIL (например, Jython, IronPython)
Пример использования multiprocessing:
from multiprocessing import Pool
def f(x):
return x*x
with Pool(4) as p:
print(p.map(f, [1, 2, 3, 4]))