남성 및 여성 에이전트가있는 (큰) 목록이 있습니다.풀 및 다중 처리를 사용하여 두 개의 목록에 동시에 두 개의 함수 적용
서로 다른 기능을 적용하고 싶습니다.
그런 경우 어떻게 풀을 사용할 수 있습니까? 에이전트는 서로 독립적이라는 것을 감안할 때.
예제는 다음과 같습니다
from multiprocessing import Pool
p = Pool(processes=2)
p.map() # Here is the problem
내가 좋아하는 뭔가하고 싶은 :
males = ['a', 'b', 'c']
females = ['d', 'e', 'f']
for m in males:
func_m(m)
for f in females:
func_f(f)
내가 그렇게 시작
p.ZIP(func_f for f in females, func_m for m in males) # pseudocode
감사합니다. @ thomas-moreau. 하지만 아무것도 돌려 줄 필요가 없다면? 아이디어는 각 에이전트에서 내부 메소드를 시작하는 것입니다. –
흠. '오류가 발생했습니다. 현재 프로세스가 부트 스트랩 단계를 완료하기 전에 새 프로세스를 시작하려고했습니다. 경우 __name__ == '__main__': 이것은 아마도 당신이 당신의 자식 프로세스를 시작하는 포크를 사용하지 않는 당신이 주요 모듈에 적절한 관용구 를 사용하는 잊어 버린 것을 의미 freeze_support을()' –
하나 더 맡은 일. 계산은 가져 와서 실행되는 모듈의 일부입니다. __name__ == "__main__": 필요합니까? –