FAQ

On Friday, November 1, 2013 10:52:40 PM UTC-4, MRAB wrote:
On 02/11/2013 02:35, smhall05 wrote:

I am using a basic multiprocessing snippet I found:

#-----------------------------------------------------
from multiprocessing import Pool

def f(x):
return x*x

if __name__ == '__main__':
pool = Pool(processes=4) # start 4 worker processes
result = pool.apply_async(f, [10]) # evaluate "f(10)" asynchronously
print result.get(timeout=1)
print pool.map(f, range(10)) # prints "[0, 1, 4,..., 81]"
#---------------------------------------------------------

I am using this code to have each process go off and solve the same problem, just with different inputs to the problem. I need to be able to kill all processes once 1 of n processes has come up with the solution. There will only be one answer.

I have tried:

sys.exit(0) #this causes the program to hang
pool.close()
pool.terminate
Did you actually mean "pool.terminate", or is that a typo for

"pool.terminate()"?


These still allow further processing before the program terminates. What else can I try? I am not able to share the exact code at this time. I can provide more detail if I am unclear. Thank you

I am not sure to be honest, however it turns out that I can't use pool.terminate() because pool is defined in main and not accessible under my def in which I check for the correct answer.

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 8 | next ›
Discussion Overview
grouppython-list @
categoriespython
postedNov 2, '13 at 2:35a
activeNov 3, '13 at 10:24a
posts8
users5
websitepython.org

People

Translate

site design / logo © 2022 Grokbase