파이썬에서는 multiprocessing
모듈을 사용하여 일련의 값에 대해 병렬로 함수를 실행할 수 있습니다. 예를 들어, 이것은 f의 첫 번째 100000 평가 목록을 작성합니다.파이썬 멀티 프로세싱 여러 입력을 가진 함수
def f(i):
return i * i
def main():
import multiprocessing
pool = multiprocessing.Pool(2)
ans = pool.map(f, range(100000))
return ans
f가 여러 입력을 사용하지만 하나의 변수 만 달라지는 경우에도 비슷한 작업을 수행 할 수 있습니까? 예를 들어,이 병렬 얼마나 :
def f(i, n):
return i * i + 2*n
def main():
ans = []
for i in range(100000):
ans.append(f(i, 20))
return ans
Thils는 "가져 오기 가능"하지 않은 기능 (피클 도구 사용)을 지원하지 않으므로 멀티 프로세싱 맵과 함께 * 사용하지 않습니다 * – Lagerbaer