파이썬 병행성#2

아직·2022년 6월 8일
0
post-thumbnail

1)

#map 사용
with futures.ThreadPoolExecutor() as excutor:
        # map-> 작업 순서를 유지하고 즉시 실행
        result = excutor.map(sum_generator, work_list)
        
#wait 사용
with ThreadPoolExecutor() as excutor:
for work in work_list:
#future-미래의 할 일만 반환할 뿐이지 아직 실행되지 않음
future = excutor.submit(sum_generator, work)
#스케쥴링
futures_list.append(future)
#스케쥴링 확인
print('Schedulded for {} : {}'.format(work, future))

map/wait(혹은 as_completed) 방법의 차이의 핵심은 스케쥴링이라고 생각한다. 작업 순서를 유지하고 즉시 실행하는 map방법은 'work_list'를 중심으로 작업이 이뤄지는 반면, wait방법은 work를 중심으로 재구조화해서 코드는 길어지나 몇 가지 조건을 추가할 수 있다는 장점이 있어 보인다.

0개의 댓글