La mayoría de los ejemplos de grupos de trabajadores multiproceso ejecutan una única función en diferentes procesos, es decir,Mulitprocess Grupos con funciones diferentes
def foo(args):
pass
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=30)
res=pool.map_async(foo,args)
¿Hay alguna manera de manejar dos funciones diferentes e independientes dentro de la agrupación? Para que pueda asignar f.e. 15 procesos para foo() y 15 procesos para bar() o es un grupo limitado a una sola función? O du hay que crear diferentes procesos para diferentes funciones de forma manual con
p = Process(target=foo, args=(whatever,))
q = Process(target=bar, args=(whatever,))
q.start()
p.start()
y olvidarse de la piscina de los trabajadores?
Y van a ser ejecutado en paralelo o "en fila"? – dorvak
El 'map_async' regresa inmediatamente. Siempre que haya suficientes procesos libres en el grupo, se ejecutarán nuevas tareas sin tener que esperar. En el ejemplo anterior, se ejecutarán en paralelo. @mad_scientist –
¡Pero no hay manera de asignar una cantidad específica de trabajadores/procesos, supongo? – dorvak