Bu yardımcı olur mu? Bu, paralel onları çalıştırır, fonksiyonlar (ve onların argümanları) bir listesini alır ve verir onların çıkışları .: (Bu eskidir. Bunların çoğu daha yeni bir sürümü https://github.com/cpbl/cpblUtilities/blob/master/parallel.py olan)
def runFunctionsInParallel(listOf_FuncAndArgLists):
"""
Take a list of lists like [function, arg1, arg2, ...]. Run those functions in parallel, wait for them all to finish, and return the list of their return values, in order.
(This still needs error handling ie to ensure everything returned okay.)
"""
from multiprocessing import Process, Queue
def storeOutputFFF(fff,theArgs,que): #add a argument to function for assigning a queue
print 'MULTIPROCESSING: Launching %s in parallel '%fff.func_name
que.put(fff(*theArgs)) #we're putting return value into queue
queues=[Queue() for fff in listOf_FuncAndArgLists] #create a queue object for each function
jobs = [Process(target=storeOutputFFF,args=[funcArgs[0],funcArgs[1:],queues[iii]]) for iii,funcArgs in enumerate(listOf_FuncAndArgLists)]
for job in jobs: job.start() # Launch them all
for job in jobs: job.join() # Wait for them all to finish
# And now, collect all the outputs:
return([queue.get() for queue in queues])
BOŞTA bölümü ayrı olan sorusu (ve büyük olasılıkla, kodun yeniden yazılması için IDLE yapması gereken/muhtemelen yapmak zorunda olan kod çözme işleminin neden olduğu). – delnan