Поскольку вы вообще не разместили никакого кода, трудно понять, что вы пытаетесь спросить, и что именно вы хотите реализовать.
При этом, я думаю, если вы хотите достичь True параллелизма в Python, библиотека, которую вы хотите использовать, должна быть multiprocessing
.С multiprocessing
вы можете запускать независимые процессы Python из вашего основного процесса и запускать их одновременно на разных физических ядрах.
Если задачи зависят друг от друга, вам необходимо использовать методы межпроцессного взаимодействия, такие как Queues
, Pipes
или объекты общего IPC, предоставляемые самой библиотекой multiprocessing
, такие как multiprocessing
array
,value
, multiprocessing
Manager
.
Для независимых задач вам не нужно сильно беспокоиться о синхронизации состояний процесса, однако, если вам нужно объединить результаты независимых задач, вы можете использовать такие вещи, как multiprocessing
pool
и map
.
Однако, если все, что вы намереваетесь сделать, - это выполнять задачи одновременно и, следовательно, не хотите тратить впустую процессорное время, вы можете посмотреть на библиотеку threading
, хотя threading
имеет свои сложности GIL
быть самым большим.
async
- это еще одна парадигма, на которую вы хотите взглянуть, которая использует совершенно другой подход к параллелизму, но async
имеет свою собственную экосистему и все, что нужно для того, чтобы часть этой экосистемы фактическидостичь желаемого конечного результата, в противном случае все получится.