Global Interpreter Lock (GIL) — это мьютекс в CPython, который позволяет выполнять байт-код Python одновременно только одному потоку. Это означает, что даже на многоядерных системах стандартные потоки Python не могут работать по-настоящему параллельно для CPU-bound задач.
Python 3.13 представил экспериментальную free-threaded сборку (также называемую режимом --disable-gil), которая делает GIL опциональным. Когда он отключён:
Free-threaded сборка — это отдельная экспериментальная установка. Ты можешь проверить, активна ли она, с помощью:
import sys
print(sys._is_gil_enabled()) # Возвращает False, когда GIL отключён
threading.Lock)Free-threaded Python — это значительный шаг к настоящему параллелизму внутри одного процесса без необходимости использовать multiprocessing. Это открывает Python дорогу к более эффективной конкуренции в сценариях высокопроизводительных многоядерных вычислений.
GIL в CPython предотвращает одновременное выполнение Python bytecode несколькими потоками, даже на многоядерных системах при выполнении CPU-bound задач.
Новый — ещё не проверен сообществом
Вы