0
Ich verwende Python Multiprozessing wie folgt aus:Python Multiprocessing ist Asynchron nicht
pool = mp.Pool(processes=mp.cpu_count())
num_jobs = 5
print("Start Multiprocessing with: " + str(mp.cpu_count()) + " processes and " + str(num_jobs) + " jobs")
for i in range(num_jobs):
start = int(...)
end = int(...)
result = pool.apply_async(worker, args = (parameter1, start, end,), callback = callback_function)
result.get()
result = pool.apply_async(worker2, args = (parameter1, parameter2,), callback = callback_function2)
result.get()
pool.close()
pool.join()
In meinem Arbeiter Funktionen Drucken Ich etw mag:
def worker(parameter1, start, end):
for in_idx in range(0,100)
print(in_idx)
jedoch die Arbeiter aufgerufen werden segmentally statt asynchron. Was ist hier falsch? Irgendwelche Ideen?
Sie haben 'result.get' in der Schleife. – mgilson
Ist das ein Problem? Ich brauchte es zu Debugging-Gründen? Muss ich es löschen oder können Sie eine Lösung bereitstellen, ohne sie zu löschen? @mgilson – thigi
get() standardmäßig Blöcke bis zur Fertigstellung. – jordanm