Пакет multiprocessing

paket multiprocessing Системные инструменты параллельного выполнения

Теперь, когда мы познакомились с альтернативными механизмами IPC и получили возможность исследовать процессы, потоки выполнения и обсудили вопросы переносимости и ограничения GIL, накладываемые на потоки выполнения, пришло время познакомиться с еще одной альтернативой, которая стремится предоставить все лучшее из обоих миров. Как упоминалось выше, пакет multiprocessing из стандартной библиотеки Python позволяет сценариям порождать процессы, используя API, близко напоминающий модуль threading.

Этот относительно новый пакет может использоваться и в Unix, и в Windows, в отличие от низкоуровневого приема ветвления процессов. Он поддерживает платформонезависимую модель запуска процессов и предоставляет сопутствующие инструменты, такие как средства IPC, включая блокировки, каналы и очереди. Кроме того, для выполнения параллельных операций он использует не потоки выполнения, а процессы, что позволяет эффективно обойти ограничения GIL. Из этого следует, что пакет multiprocessing позволяет программисту использовать преимущества многопроцессорных систем для выполнения параллельных задач, сохраняя при этом простоту и переносимость модели потоков выполнения.

Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011

Оцените статью
Секреты программирования
Добавить комментарий