Зачем в Python 3.13 вводится экспериментальный No-GIL (PEP 703) и как он заменяет глобальный лок?

Экспериментальная free-threaded сборка CPython 3.13 позволяет Python-потокам работать параллельно на разных ядрах без обычного GIL. Это отдельный режим, а не автоматическое изменение всех установок Python 3.13.

Короткий ответ

Что ответить на собеседовании

Экспериментальная free-threaded сборка CPython 3.13 позволяет Python-потокам работать параллельно на разных ядрах без обычного GIL. Это отдельный режим, а не автоматическое изменение всех установок Python 3.13.

Подробный разбор

Ответ с пояснениями

Экспериментальная free-threaded сборка CPython 3.13 позволяет Python-потокам работать параллельно на разных ядрах без обычного GIL. Это отдельный режим, а не автоматическое изменение всех установок Python 3.13.

Защита переносится на более локальную синхронизацию внутренних структур и изменённое управление временем жизни объектов. У встроенных контейнеров есть внутренние блокировки, но составные бизнес-операции всё равно требуют явных Lock. Режим имеет накладные расходы и ограничения совместимости расширений; импорт неподдерживаемого расширения может включить GIL. Поэтому нужно проверять фактическую сборку и состояние процесса, а ускорение подтверждать измерением.

Источник: docs.python.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее