Astan Chee wrote: > Thanks but I'm having trouble with that module too. Currently what I > have is something like this: > > import sys > import os > import multiprocessing > > import time > > def functionTester(num): > return ((num+2)/(num-2))**2 > > num_args = [61,62,33,7,12,16,19,35,36,37,38,55,56,57,63] > > max_result = 0 > > start = time.time() > > num_processes = multiprocessing.cpu_count() > > threads = [] > len_stas = len(num_args) > > for list_item in num_args: > if len(threads) < num_processes: > p = > multiprocessing.Process(target=functionTester,args=[list_item]) > p.start() print p, p.is_alive() > threads.append(p) > else: > for thread in threads: > if not thread.is_alive(): > threads.remove(thread) > > print "Result " + str(max_result) > end = time.time() > elapsed= end - start > print "Took", elapsed, "seconds to execute" > > But it doesn't give me any return data. It also spawns an infinite > number of (sub)processes that crashes my machine. What am I doing > wrong here?
I can't replicate the crash. However, your problem looks like there is a ready-to-use solution: http://docs.python.org/library/multiprocessing.html#using-a-pool-of-workers -- http://mail.python.org/mailman/listinfo/python-list