Встречается на 2% собеседований по Python
При каких условиях поток отпускает GIL в Python
GIL (Global Interpreter Lock) отпускается в нескольких случаях, что позволяет другим потокам выполняться:
- При выполнении I/O операций – чтение/запись файлов, сетевые запросы и т.д.
python
with open('file.txt', 'r') as f: # GIL отпускается при чтении файла data = f.read()
-
При вызове C-расширений – если расширение явно отпускает GIL (например, NumPy или cryptography).
-
Во время
sleep– при вызовеtime.sleep()поток освобождает GIL.pythonimport time time.sleep(1) # GIL отпускается -
При операциях с блокировками – например, при использовании
threading.Lock.
GIL не отпускается при чисто вычислительных операциях (например, циклы, арифметика), что ограничивает параллелизм в CPU-bound задачах. Для их распараллеливания лучше использовать multiprocessing.

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