작성
·
261
0
# 진입점
def main():
# Worker Count
# worker 수를 10개 혹은 리스트의 원소 갯수 중 최소값으로 지정한다.
worker = min(10, len(WORK_LIST))
start_tm = time.time() # 시작 시간
# ProcessPoolExecutor
with futures.ProcessPoolExecutor() as excutor:
# map -> 작업 순서 유지, 즉시 실행
result = excutor.map(sum_generator, WORK_LIST)
end_tm = time.time() - start_tm # 종료 시간
msg = '\n Result -> {} Time : {:.2f}s' # 출력 포맷
print(msg.format(list(result), end_tm)) # 최종 결과
주피터 노트북 환경에서는 futures.ProcessPoolExecutor()가 동작을 안해서 파이썬 문서를 찾아보니 다음과 같은 내용이 적혀있었습니다.
__main__
모듈은 작업자 서브 프로세스가 임포트 할 수 있어야 합니다. 즉, ProcessPoolExecutor
는 대화형 인터프리터에서 작동하지 않습니다.
위의 말이 정확히 무슨뜻인지 궁금합니다.