0
我嘗試在python(3.4.2)中使用多處理工具來加速我的性能。我的普通程序運行正常,但我必須在其中處理大型嵌套字典。附上了一個簡化版本,它顯示了我的問題。如果我直接使用TestProc它正在工作,而不是多處理。python多處理嵌套式dictionay
感謝您的幫助!
import multiprocessing
def TestProc(liste, results):
for i in liste:
results[i] = {'power':{'square': float(i)**2, 'cubic':
float(i)**3},'root':{'square': float(i)**(1/2), 'cubic': float(i)**(1/3)}}
if __name__ == "__main__":
multiprocessing.freeze_support()
results = multiprocessing.Manager().dict()
results = {}
liste = ['1','2','3','4','5']
for i in liste:
results[i] = multiprocessing.Manager().dict()
print(results)
#TestProc(liste, results)
p1 = multiprocessing.Process(target=TestProc, args=(liste,results,))
p1.start()
p1.join()
print(results)
你在不使用第一個值的情況下連續兩次指定'results',並且在結果中放置了多個'multiprocessing.Manager()。dict()'(這應該是做什麼的,不應該結果開始*空* *) – jonatan