Встречается на собеседованиях • сегодня

Какие знаешь параметры переключения между потоками

В Python параметры переключения между потоками (thread switching) контролируются GIL (Global Interpreter Lock) и системным планировщиком. Основные моменты:

  1. GIL – только один поток исполняет байт-код Python в любой момент времени. Переключение происходит:
    • При I/O операциях (чтение файлов, сетевые запросы)
    • По истечении тиков (ticks) – условных инструкций (по умолчанию 100 тиков, но зависит от версии Python и sys.setcheckinterval() в Python 2 / sys.setswitchinterval() в Python 3).
  1. 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()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы