본문 바로가기

Python

async def / asyncio

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는 단어 뜻 그대로 특정 객체가 끝날 때까지 기다립니다.

출처 : https://dojang.io/mod/page/view.php?id=2469

'Python' 카테고리의 다른 글