Встречается на собеседованиях • сегодня
Кто следит за тем, чтобы потоки работали в Python
В Python за управление потоками (threads) отвечает Global Interpreter Lock (GIL) — механизм, который позволяет выполняться только одному потоку за раз в рамках одного процесса интерпретатора. Это предотвращает конкурентное выполнение байт-кода, упрощая работу с памятью, но ограничивает параллелизм для CPU-задач.
Однако GIL не блокирует потоки полностью:
- I/O-операции (сеть, файлы) освобождают GIL, позволяя другим потокам работать.
- Для CPU-задач можно использовать
multiprocessingили внешние библиотеки (например,numpy/Cython), которые выносят вычисления за пределы GIL.
Пример с потоками:
python
import threading
def worker():
print("Поток работает")
threads = []
for _ in range(5):
t = threading.Thread(target=worker)
threads.append(t)
t.start()
for t in threads:
t.join()Здесь GIL гарантирует, что только один поток выполняется в любой момент, но планировщик ОС может переключать их. Для истинного параллелизма используйте multiprocessing.

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