Встречается на собеседованиях • сегодня
Для чего используется GIL в Python
GIL (Global Interpreter Lock) — это механизм в CPython, который предотвращает одновременное выполнение нескольких потоков нативным кодом. Он нужен для:
- Потокобезопасности — защищает внутренние структуры данных интерпретатора от гонки (race conditions).
- Упрощения управления памятью — счетчик ссылок в Python требует атомарных операций.
Минусы:
- Многопоточные CPU-задачи выполняются последовательно.
Пример:
python
import threading
def count():
n = 0
for _ in range(1_000_000):
n += 1
# Запуск в одном потоке ≈ быстрее, чем в двух из-за GIL
thread1 = threading.Thread(target=count)
thread2 = threading.Thread(target=count)
thread1.start(); thread2.start()
thread1.join(); thread2.join()Обход: Для параллелизма используют multiprocessing или асинхронность (asyncio).

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