multiprocessing Pool, Process, Queue 기본 설명: https://m.blog.naver.com/townpharm/220951524843
def f(x):
print("값", x, "에 대한 작업 Pid = ",os.getpid())
time.sleep(1)
return x*x
p = Pool(n_process)
...
p.map(f, range(0, 10))
입력값을 process들을 건너건너 분배하여 함수 실행을 병렬화하는 편리한 수단을 제공한다 - Python document
procs = []
for n in range(0, 10):
proc = Process(target = f,args = (n, ))
procs.append(proc)
proc.start()
for proc in procs:
proc.join()
Pool과 다르게 각각 다른 프로세스를 할당해주는 느낌?
실제 이슈는 upyter에서 왜 Queue()에 할당이 안되고 Pool에서도 자꾸 error가 뜰까..했는데
https://github.com/ipython/ipython/issues/10894
이 글에서 interactive interpreter에서 안 된다고 한 거보고 걍 python file(.py)로 만들어서 terminal에서 돌리니 해결됨