В чем разница между многопроцессорностью и подпроцессом?

Моя работа должна использовать параллельные методы, и я новый пользователь python. Поэтому мне интересно, можете ли вы поделиться некоторыми материалами о модулях multiprocessing и subprocess python. В чем разница между этими двумя?

3 Solutions collect form web for “В чем разница между многопроцессорностью и подпроцессом?”

Модуль subprocess позволяет запускать и управлять другими программами. Все, что вы можете запустить с командной строки на компьютере, можно запустить и контролировать с помощью этого модуля. Используйте это, чтобы интегрировать внешние программы в свой код Python.

Модуль multiprocessing позволяет разделить задачи, написанные на python, на несколько процессов, чтобы повысить производительность. Он предоставляет API, очень похожий на модуль threading передачи; он предоставляет методы для обмена данными между процессами, которые он создает, и упрощает задачу управления несколькими процессами для запуска кода Python. Другими словами, multiprocessing позволяет использовать несколько процессов для ускорения выполнения ваших задач путем параллельного выполнения кода.

Если вы хотите вызвать внешнюю программу (особенно, не написанную на Python), используйте subprocess .

Если вы хотите вызвать функцию Python в подпроцессе, используйте multiprocessing .

(Если программа написана на Python, но также является импортируемой, я бы попытался вызвать ее функции, используя multiprocessing , а не вызывать ее извне через subprocess .)

Подпроцесс генерирует новые процессы, но помимо stdin / stdout и любых других API, которые могут реализовать другие программы, у вас нет средств для общения с ними. Его основная цель – запустить процессы, которые полностью отделены от вашей собственной программы.

Многопроцессорность также порождает новые процессы, но они запускают ваш код и предназначены для общения друг с другом. Вы используете его для разделения задач внутри вашей собственной программы на нескольких ядрах ЦП.

  • Как остановить передачу SIGINT на подпроцесс в python?
  •  
    Interesting Posts for Van-Lav

    Скребок с красивым супом: почему метод get_text не возвращает текст этого элемента?

    Бот-робот на основе Python

    Ошибка импорта Python для модулей, установленных с помощью Homebrew

    Найдите ближайшую строку DataFrame до заданного времени в Pandas

    Невозможно сравнить наивные и осведомленные данные datetime.now () <= challenge.datetime_end

    Можно ли использовать метод как метод staticmethod или instance?

    Распределить / distutils указать версию Python

    Пакетный запрос API Google возвращает HttpError 404 для каждого вызова через клиент Python

    Как запускать несколько браузеров Selenium Firefox одновременно?

    Ошибка приложения django test – получена ошибка при создании тестовой базы данных: разрешение отклонено для создания базы данных

    Как импортировать файл данных csv в scikit-learn?

    Множество столбцов DataFrame в Seaborn FacetGrid

    Недопустимый парсер URL в python

    Python 3.3 и установка PyOpenSSL на Mac

    Вставка двух операций в транзакцию и получение «Невозможно работать с разными группами сущностей в транзакции» Ошибка

    Python - лучший язык программирования в мире.