Как переключаются потоки в Python

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