Что такое GIL в Python?

Middle
488 просмотров
AFK Offer AI

GIL — это Global Interpreter Lock, глобальная блокировка интерпретатора CPython. Она гарантирует, что в один момент времени только один поток выполняет Python-байткод, даже если у тебя многоядерный процессор. Это сделано для потокобезопасности управления памятью (reference counting). Из-за GIL многопоточность в Python не даёт параллелизма для CPU-bound задач, но для I/O-bound (сеть, диск) — вполне работает, потому что GIL отпускается на время ожидания.

Следующий вопрос

В чём разница между mutable и immutable типами?