Перейти к содержимому

Выполнить процессы параллельно

image_1

Описание

Блок запускает пул процессов для выполнения параллельных вычислений, когда необходимо выполнить множество задач, которые могут обрабатываться независимо друг от друга.


Описание параметров

Блок имеет несколько основных параметров:

  1. Режим работы:
    • Синхронно - блок будет ожидать завершения всех паралельных процессов перед переходом к следующему шагу;
    • Асинхронно - блок запустит паралельные процессы, но не будет ожидать их завершения перед переходом к следующему шагу.
image_2
  1. Количество процессов - максимальное число одновременно запущенных процессов;

    Тип данных: int (Число)

    Пример: 2

  2. Вызываемая функция - название функции, которую требуется запускать в параллельных процессах;

    Тип данных: str (Строка)

    Пример: do_something

  3. Аргументы - список аргументов для передачи в вызываемую функцию;

    Тип данных: list (Список)

    Пример: [1, 2, 3]

  4. Сохранить результат в - переменная для записи возвращаемых значений из запускаемой функции;

    Тип данных: var (Переменная)

    Пример: result

Возвращаемое значение

В режиме работы Синхронно блок возвращает список значений, полученных из запускаемых функций. В режиме работы Асинхронно блок возвращает объект типа multiprocessing.Pool.


Пример использования

В данном примере происходит параллельный синхронный запуск функции do_something.

Функция принимает аргумент x и выполняет вычисление x * 100. Результат выводится на экран и возвращается как результат выполнения.

image_3

Блок запускает 3 параллельных процесса с аргументами [1, 2, 3].

Блок будет ожидать завершения всех процессов перед переходом к следующему шагу. После завершения будет отображено Уведомление пользователя с сообщением Процессы запущены!, затем будут отображены результаты выполнения функций.

image_4

Результат

Уведомления пользователя из паралельных процессов (функций do_something):

image_5

После закрытия уведомлений будет отображено Уведомление пользователя с сообщением Процессы запущены!, затем будут отображены результаты выполнения функций.

image_6

Результаты выполнения функций (список result):

image_7