Встречается на 1% собеседований по Python
Какие знаешь параметры переключения между потоками
В Python параметры переключения между потоками (thread switching) контролируются GIL (Global Interpreter Lock) и системным планировщиком. Основные моменты:
- GIL – только один поток исполняет байт-код Python в любой момент времени. Переключение происходит:
- При I/O операциях (чтение файлов, сетевые запросы)
- По истечении тиков (ticks) – условных инструкций (по умолчанию 100 тиков, но зависит от версии Python и
sys.setcheckinterval()в Python 2 /sys.setswitchinterval()в Python 3).
sys.setswitchinterval(sec)– задает интервал переключения между потоками (по умолчанию 5 мс в Python 3). Чем меньше интервал, тем чаще переключения, но выше накладные расходы.
Пример:
python
import sys
import threading
sys.setswitchinterval(0.001) # Установка интервала в 1 мс
def worker():
print("Поток выполняется")
threads = [threading.Thread(target=worker) for _ in range(5)]
for t in threads:
t.start()
for t in threads:
t.join()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы