Вопрос проверяет понимание различий между моделями параллелизма — процессами и потоками, а также ограничений интерпретатора Python (GIL) и выбора подходящей модели для CPU- или IO-задач.
Короткий ответ
Многопроцессность использует несколько независимых процессов, каждый со своей памятью, что позволяет выполнять код параллельно на разных ядрах CPU.
Многопоточность использует несколько потоков внутри одного процесса, но они разделяют память и в CPython ограничены GIL — только один поток выполняет Python-байткод в момент времени.
Процессы подходят для CPU-интенсивных задач, где важна настоящая параллельность. Потоки удобны для IO-операций (файлы, сеть), где основная часть времени — ожидание.
Выбор между ними зависит от характера задачи: CPU → процессы, IO → потоки.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.