Multiprocessing: используем все ядра

Поговорим про multiprocessing - способ реального распараллеливания задач на ядра компьютера. Multiprocessing позволяет решать любые задачи (IO-bound или CPU-bound) Ускорение не идеально и возможно только до определенного предела, смотрим закон Амдала. Создает несколько процессов, у каждого из которых своя память и свой GIL, каждый выполняет свою задачу, взаимодействие между ними требует pickle API принципиально похоже на многопоточность, выгодно использовать Pool, а для взаимодействия между процессами Queue и Pipe Плюсы: реальная параллельность любых задач не умирает из-за одного(!) процессы не зависят друг от друга(у каждого процесса своя память и GIL) Минусы: потребление ресурсов (памяти, процессора, времени) необходимость сериализации в pickle проблемы синхронизации (взаимодействие между процессами) Читать:
Фаулер М. "Asyncio и конкурентное программирование на Python" Присоединяйтесь к помощи каналу, будет интересно) ✔️Бусти
✔️Юмани 410011506612886 Будь первым везде и всегда, включай уведомления о новых выпусках 🔔 Смотри там где удобно🤩 ✔️ https://vk.com/python_russian
✔️
✔️
✔️    / pythonrussian   ✔️
#Python #PythonRussian #multiprocessing

Смотрите также