동시성(Futures)
- 비동기 작업 처리
- 파이썬 GIL 설명
- 동시성 처리 실습 예제
- Process, Thread 예제
Futures 동시성
비동기 작업
동기와 비동기
- 동기(synchronouse : 동시에 일어나는) : 요청과 결과가 동시에 일어나는 약속이다. 바로 요청하면 시간이 얼마걸리던지 요청한 자리에서 결과가 주어저야 한다.
- 비동기(Asynchronouse : 동시에 일어나지 않는) : 비동기는 동시에 일어나지 않는 것
지연시간(Block) CPU 및 리소스 낭비 방지 → (File)Network I/o 관련 작업 → 동시성 활용 권장
비동기 작업과 적합한 프로그램일 경우 압도적으로 성능 향상된다.
3.2 이전에는 쓰레드와 세마포어 등 복잡해서 이걸 매핑함
futures : 비동기 실행을 위한 api를 고수준으로 작성 → 사용하기 쉽도록 개선
concurrent.Futures
- 멀티스레딩, 멀티프로세싱 API 통일 → 매우 사용하기 쉬움