2011-10-21 2 views
1

개체 목록이 있고 각 개체에 대해 foo 함수를 호출하여 인수 모음을 전달하려고합니다. 이 작업을 병렬 처리하고 싶습니다. 그래서 지금은 멀티 프로세싱 패키지에서 Pool.map을 사용하고 있습니다. 하지만지도를 사용하여 객체 메소드를 실행하는 방법을 잘 모르겠습니다. 어떻게해야합니까? 아니면 이것을 병렬로 수행하는 더 좋은 방법이 있습니까?개체 메서드의 병렬 처리

답변

2

도우미 함수를 정의하고 개체 메서드와 해당 인수를 Pool.map을 통해 함수에 전달합니다. 도우미 기능은 다음과 같이 보일 것이다 :

def helper(*args): 
    return args[0](*args[1:]) 

을 그리고 당신은 다음과 같이 사용합니다 : 도우미 기능이 포함 된 모듈에서 직접 가져올 수 있어야한다는

pool = Pool() 
results = pool.map(helper, [obj.method, arg1, arg2]) 

참고.