我想調用N並行的python函數的數量,但不知道如何去做這件事。Python:並行運行n個函數
我已閱讀this thread並已經實施了一些代碼。
from multiprocessing import Process
def func1():
print 'func1: starting'
for i in xrange(10000000): pass
print 'func1: finishing'
def func2():
print 'func2: starting'
for i in xrange(10000000): pass
print 'func2: finishing'
def runInParallel(*fns):
proc = []
for fn in fns:
p = Process(target=fn)
p.start()
proc.append(p)
for p in proc:
p.join()
if __name__ == '__main__':
runInParallel(func1, func2)
這就是上面鏈接的代碼。我已經適應了這些代碼,可以毫無問題地處理我的情況。
所以用這段代碼,我明顯可以同時運行兩個函數。我可以手動添加更多的功能,(func1,func2,func3,func4,...)。這似乎是混亂和不合理的。
有沒有辦法重新做這個代碼來並行調用任意數量的函數?
看看這個其他結束後得到的結果,也許是有用的: [發佈](HTTP:/ /stackoverflow.com/questions/7207309/python-how-can-i-run-python-functions-in-parallel) –
@ Carlo1585是的,這是我鏈接到的帖子。從那裏我想出瞭如何並行運行多個函數......但如果我想並行運行20個函數,我不想爲20個函數編寫代碼。我希望能夠調用一個函數20次,但並行。 –