2013-06-11 94 views
1

我很難理解Python多處理模塊中池的用途。python多處理中池的用途

我知道這個代碼是這樣做的:

import multiprocessing 

def worker(): 
    """worker function""" 
    print 'Worker' 
    return 

if __name__ == '__main__': 
    jobs = [] 
    for i in range(5): 
     p = multiprocessing.Process(target=worker) 
     jobs.append(p) 
     p.start() 

所以我的問題是,在將使用什麼類型的情況下池?

回答

2

Pool對象在您希望能夠向子流程提交更多任務時很有用,但您不想處理這些任務的所有組織(即應該生成多少個流程來處理它們;哪些任務轉到哪個進程等),你只關心結果值,而不關心任何其他類型的同步等。你不想控制子進程計算,而只是結果。當你想執行一個特定的動作

在另一方面Process被使用,並且在子過程中,你需要控制,不僅取決於其計算的結果。