Choose a default theme

You can change your theme from the menu

Python asyncio

asyncio는 Python에서 async와 await 문법을 사용해 동시성 코드를 작성하도록 돕는 표준 라이브러리이다.

원리

이벤트 루프가 준비된 작업을 실행하고 코루틴이 비동기 대기 지점에서 실행 기회를 양보한다. 네트워크 입출력, 작업 취소, 동기화 등의 API를 제공한다.

예시

여러 서버의 응답을 기다리는 작업을 태스크로 구성하면 하나의 응답을 기다리는 동안 다른 작업이 진전될 수 있다.

주의할 점

CPU 계산이나 동기식 입출력이 루프를 오래 점유하면 다른 태스크도 지연된다. async를 붙이는 것만으로 코드가 병렬화되지는 않으며 취소와 자원 정리를 설계해야 한다.

참고 자료