Встречается на собеседованиях • сегодня
Как GIL обеспечивает безопасность
GIL (Global Interpreter Lock) — это механизм в CPython, который предотвращает одновременное выполнение байт-кода несколькими потоками. Он гарантирует, что только один поток исполняет Python-код в любой момент времени, что упрощает работу с памятью и предотвращает race conditions.
Пример проблемы без GIL:
python
counter = 0
def increment():
global counter
for _ in range(100000):
counter += 1
t1 = threading.Thread(target=increment)
t2 = threading.Thread(target=increment)
t1.start(); t2.start()
t1.join(); t2.join()
print(counter) # Может быть меньше 200000 из-за race conditionПлюсы GIL:
- Защищает внутренние структуры CPython от повреждений.
- Упрощает интеграцию C-расширений.
Минусы:
- Ограничивает параллелизм в CPU-задачах.
- Потоки не используют несколько ядер CPU эффективно.
Для истинного параллелизма в Python используют multiprocessing или асинхронные подходы (asyncio).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы