Выполнить процессы параллельно
Описание
Блок запускает пул процессов для выполнения параллельных вычислений, когда необходимо выполнить множество задач, которые могут обрабатываться независимо друг от друга.
Описание параметров
Блок имеет несколько основных параметров:
- Режим работы:
- Синхронно - блок будет ожидать завершения всех паралельных процессов перед переходом к следующему шагу;
- Асинхронно - блок запустит паралельные процессы, но не будет ожидать их завершения перед переходом к следующему шагу.
-
Количество процессов - максимальное число одновременно запущенных процессов;
Тип данных:
int (Число)Пример:
2 -
Вызываемая функция - название функции, которую требуется запускать в параллельных процессах;
Тип данных:
str (Строка)Пример:
do_something -
Аргументы - список аргументов для передачи в вызываемую функцию;
Тип данных:
list (Список)Пример:
[1, 2, 3] -
Сохранить результат в - переменная для записи возвращаемых значений из запускаемой функции;
Тип данных:
var (Переменная)Пример:
result
Возвращаемое значение
В режиме работы Синхронно блок возвращает список значений, полученных из запускаемых функций.
В режиме работы Асинхронно блок возвращает объект типа multiprocessing.Pool.
Пример использования
В данном примере происходит параллельный синхронный запуск функции do_something.
Функция принимает аргумент x и выполняет вычисление x * 100. Результат выводится на экран и возвращается как результат выполнения.

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

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

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

Результаты выполнения функций (список result):
В данном примере происходит паралельный асинхронный запуск функции do_something.
Функция принимает аргумент x и выполняет вычисление x * 100. Результат выводится на экран и возвращается как результат выполнения.

Блок запускает 3 параллельных процесса с аргументами [1, 2, 3].
Блок при асинхронном режиме не будет ожидать завершения процессов перед переходом к следующему шагу.
После запуска будет отображено Уведомление пользователя с сообщением Процессы запущены!.
Для получения результатов выполнения процессов необходимо использовать блок Получить результат мультипроцессов.

Результат
Уведомления пользователя из паралельных процессов (функций do_something) и сообщение из следующего шага алгоритма (Уведомление пользователя с сообщением Процессы запущены!):

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