asyncio - Asynchronous I/O
asyncio란 async/await
문법을 사용해서 concurrent 코드를 작성하기 위한 라이브러리이다.
asyncio는 여러 python asynchronous framework들에 기반으로 사 되는데, 예를들면 high performance network, web-server, database connection libraries, distributed task queue 등을 제공하는 프레임워크들이다.
사실 async IO는 single-threaded, single-process 디자인이다. Coroutines(async IO의 핵심 feature)은 병렬적으로 스케줄될수 있지만 본질적으로 병렬적이지 않다.
cooperative multitasking
이란 프로그램의 event loop가 여러 테스크들이 이상적인 시간으로 실행될 수 있도록 커뮤니케이션하는 방법이다.