Większość przykładów puli roboczej wieloprocesowej wykonuje jedną funkcję w różnych procesach, f.e.Pule Mulitprocess z różnymi funkcjami
def foo(args):
pass
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=30)
res=pool.map_async(foo,args)
Czy istnieje sposób na obsługę dwóch różnych i niezależnych funkcji w puli? Abyś mógł przydzielić f.e. 15 procesów dla foo() i 15 procesów dla bar() lub jest pulą ograniczoną do pojedynczej funkcji? A może musisz utworzyć różne procesy dla różnych funkcji ręcznie przy użyciu jednej z nich, aby zapomnieć o puli pracowników? Nie.
i będą wykonywane równolegle lub „w wierszu”? – dorvak
Funkcja 'map_async' natychmiast zwraca. Dopóki w puli jest wystarczająco dużo wolnych procesów, nowe zadania będą uruchamiane bez czekania. W powyższym przykładzie będą działać równolegle. @mad_scientist –
Thx! Ale nie ma sposobu na przypisanie określonej ilości pracowników/procesów, tak myślę? – dorvak