Запустить две функции параллельно в пафосе - PullRequest
0 голосов
/ 02 мая 2019

У меня есть 2 разные функции, скажем:

def foo(print_me):   
    print(print_me + " foo")

def foo2(print_me):   
    print(print_me + " foo2")

Я хочу запустить их обе параллельно в пафосе.

в многопроцессорной обработке я сделаю что-то вроде:

process = [Process(target=foo, args=("HI")),Process(target=foo2, args=("HI2")]
map(lambda p: p.start(), process)
map(lambda p: p.join(), process)

Как я могу сделать что-то похожее в пафосе?

PS
Я не могу использовать многопроцессорность Python, потому что в реальных функциях я использую spacy, который не может использовать многопроцессорность(из-за ошибки рассола).

1 Ответ

1 голос
/ 03 мая 2019

Как это:

>>> def foo(print_me):   
...     print(print_me + " foo")
... 
>>> def foo2(print_me):   
...     print(print_me + " foo2")
... 
>>> from pathos.helpers import mp
>>> process = [mp.Process(target=foo, args=("HI",)),mp.Process(target=foo2, args=("HI2",))]
>>> r1 = map(lambda p: p.start(), process) 
>>> r2 = map(lambda p: p.join(), process) 
>>> r1 = list(r1); r1 = list(r2)
HI foo
HI2 foo2
>>> 

Я также исправил опечатки в вашем коде выше, но не в вашем вопросе.

...