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

Python Middle Без компании
Какие знаешь параметры переключения между потоками
Ответы
В 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). Чем меньше интервал, тем чаще переключения, но выше накладные расходы. Пример: ``` 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() ```