Встречается на собеседованиях • сегодня
При каких операциях Python всегда отпускает GIL
GIL (Global Interpreter Lock) в Python отпускается в следующих случаях:
- I/O операции – чтение/запись файлов, сетевые запросы (socket, HTTP и т.д.).
- Системные вызовы – например,
time.sleep(). - Вызовы C-расширений – если расширение явно отпускает GIL (например, NumPy, Cython с
nogil). - Операции, выполняемые в другом потоке – например, в
threading.Thread.
Пример с time.sleep():
python
import time
import threading
def worker():
print("GIL отпущен на время sleep")
time.sleep(1) # GIL отпущен
print("GIL снова захвачен")
t = threading.Thread(target=worker)
t.start()
t.join()GIL не отпускается при чисто вычислительных операциях (например, циклы на чистом Python), поэтому для CPU-задач лучше использовать multiprocessing.

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