2013-06-11 2 views
1

파이썬의 다중 처리 모듈에서 풀의 목적을 이해하는 데 어려움이 있습니다.파이썬 다중 처리에서 풀의 목적

는이 코드가 무엇을하고 있는지 알고

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이 사용되며, 은 계산 결과뿐만 아니라 하위 프로세스를 제어해야합니다 ().

관련 문제