Как использовать библиотеку планировщика Python для запуска параллельных задач? - PullRequest
0 голосов
/ 27 января 2019

Каков метод использования библиотеки планировщика python для запуска параллельных задач с многоядерным процессором?

Любой пример добавления таймаута и некоторых последовательных зависимых элементов и обработки исключений в этом примере параллельных задач?

1 Ответ

0 голосов
/ 27 января 2019

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

При этом, я думаю, если вы хотите достичь True параллелизма в Python, библиотека, которую вы хотите использовать, должна быть multiprocessingmultiprocessing вы можете запускать независимые процессы Python из вашего основного процесса и запускать их одновременно на разных физических ядрах.

Если задачи зависят друг от друга, вам необходимо использовать методы межпроцессного взаимодействия, такие как Queues, Pipes или объекты общего IPC, предоставляемые самой библиотекой multiprocessing, такие как multiprocessing array,value, multiprocessing Manager.

Для независимых задач вам не нужно сильно беспокоиться о синхронизации состояний процесса, однако, если вам нужно объединить результаты независимых задач, вы можете использовать такие вещи, как multiprocessing pool и map.

Однако, если все, что вы намереваетесь сделать, - это выполнять задачи одновременно и, следовательно, не хотите тратить впустую процессорное время, вы можете посмотреть на библиотеку threading, хотя threading имеет свои сложности GIL быть самым большим.

async - это еще одна парадигма, на которую вы хотите взглянуть, которая использует совершенно другой подход к параллелизму, но async имеет свою собственную экосистему и все, что нужно для того, чтобы часть этой экосистемы фактическидостичь желаемого конечного результата, в противном случае все получится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...