asyncio(Asynchronous I/O)는 비동기 프로그래밍을 위한 모듈이며 CPU 작업과 I/O를 병렬로 처리하게 해줍니다.
동기(synchronous) 처리는 특정 작업이 끝나면 다음 작업을 처리하는 순차처리 방식이고, 비동기(asynchronous) 처리는 여러 작업을 처리하도록 예약한 뒤 작업이 끝나면 결과를 받는 방식입니다.
먼저asyncio를 사용하려면 다음과 같이async def로 네이티브 코루틴을 만듭니다(파이썬에서는 제너레이터 기반의 코루틴과 구분하기 위해async def로 만든 코루틴은 네이티브 코루틴이라고 합니다).
import asyncio
loop = asyncio.get\_event\_loop() #이벤트 루프를 얻고
loop.run\_until\_complete(print\_add(1, 2))
loop.colose()
await 뒤에 코루틴 객체, 퓨처 객체, 태스크 객체를 지정하면 해당 객체가 끝날 때까지 기다린 뒤 결과를 반환합니다. await는 단어 뜻 그대로 특정 객체가 끝날 때까지 기다립니다.
'Python' 카테고리의 다른 글
jupyterhub 운영 문제해결 (0) | 2022.02.22 |
---|---|
주피터 노트북 작동 과정 (0) | 2021.11.18 |
크롤링 예제 css (0) | 2020.07.09 |
크롤링 예제 학습 (신문기사) (0) | 2020.07.09 |