Что такое вытесняющая многозадачность

Python Middle Без компании
Что такое вытесняющая многозадачность
Ответы
Вытесняющая (preemptive) многозадачность — это подход, при котором операционная система сама решает, когда переключаться между задачами, принудительно забирая процессорное время у текущей задачи. В отличие от кооперативной многозадачности, где задачи сами передают управление, здесь переключение контролируется планировщиком ОС. Пример в Python с потоками (threading), где ОС управляет переключением: ``` import threading import time def task(name): for i in range(3): print(f"{name} выполняется") time.sleep(1) thread1 = threading.Thread(target=task, args=("Поток 1",)) thread2 = threading.Thread(target=task, args=("Поток 2",)) thread1.start() thread2.start() thread1.join() thread2.join() ``` Ключевые особенности: - Планировщик ОС решает, когда переключать потоки - Не требует явного освобождения управления (как `yield` в кооперативной) - Потоки могут прерываться в любой точке выполнения - Позволяет эффективно использовать CPU при I/O-bound задачах