Reputation: 97
I have spawned multiple process using for loop and appended each process into an array after starting it.
for param in multiples_100:
p = Process(target=calculate, args=(param,))
processes.append(p)
p.start()
p = Process(target=calculate, args=(200,))
processes.append(p)
for p in processes:
p.join()
when I try to join all processes It's throwing AssertionError: can only join a started process
Upvotes: 4
Views: 2078
Reputation: 12205
You do not start the final process outside the loop.
for param in multiples_100:
p = Process(target=calculate, args=(param,))
processes.append(p)
p.start()
p = Process(target=calculate, args=(200,))
p.start()
processes.append(p)
for p in processes:
p.join()
should fix it.
Upvotes: 2