Встречается на собеседованиях • сегодня

Зачем нужен GIL

GIL (Global Interpreter Lock) позволяет только одному потоку выполнять Python-байткод в данный период времени

Зачем он нужен?

Безопасность:
Без GIL доступ к объектам из нескольких потоков мог бы привести к ошибкам при подсчете ссылок, тем самым привести к утечке памяти и падению программы.

Простота и стабильность:

Без GIL каждая операция с объектами требовала бы явных блокировок (mutex), тем самым замедлила бы даже однопоточные программы.

Производительность:

GIL позволяет работать однопоточным программам быстрее, чем если бы при каждом доступе к объекту была проверка на блокировку.

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы