[모던 Python 5편] concurrent.futures, asyncio로 동시성/병렬 코드 간소화하기
과거 파이썬에서 동시성이나 병렬 처리를 구현하려면 threading이나 multiprocessing 모듈을 직접 다루며 복잡한 스레드 생성, 락(Lock) 관리, 프로세스간 통신(IPC) 코드를 작성해야 했습니다. 이는 코드가 장황해지고 디버깅이 어려워지는 문제를 일으켰습니다.Python 3.2+에서 도입된 concurrent.futures 모듈과 3.4+의 asyncio는 이러한 문제를 완화하고, 더 직관적이고 Pythonic한 방식으로 동시성 작업을 처리할 수 있게 합니다.이번 글에서는 기존 접근법과 새로운 접근법을 비교하고, 각 방법의 장단점을 정리합니다.이전에는 어떻게 했을까?threading, multiprocessingimport threadingdef worker(): # 작업 처리 ..