Встречается на собеседованиях • сегодня
При каких условиях поток отпускает 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
интервью вопросы и ответы