Myvideo

Guest

Login

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

Uploaded By: Myvideo
1 view
0
0 votes
0

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

Share with your friends

Link:

Embed:

Video Size:

Custom size:

x

Add to Playlist:

Favorites
My Playlist
Watch Later