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

Почему вытесняющая многозадачность потребляет больше ресурсов

Вытесняющая многозадачность требует больше ресурсов из-за накладных расходов на переключение контекста. ОС должна сохранять состояние текущего процесса (регистры, стек, счетчик команд) перед переключением на другой процесс, что увеличивает нагрузку на CPU и память.

Пример с threading в Python:

python
import threading

def task():
    for _ in range(1000000):
        pass

threads = [threading.Thread(target=task) for _ in range(10)]
for t in threads:
    t.start()
for t in threads:
    t.join()

Здесь GIL в CPython ограничивает параллелизм, но сам механизм переключения потоков требует ресурсов. В вытесняющей многозадачности ОС сама решает, когда переключать потоки, что приводит к дополнительным затратам по сравнению с кооперативной, где переключение контролируется программистом.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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