파이썬의 asyncio를 통한 비동기 프로그래밍
- asyncio는 파이썬 비동기프로그래밍을 위한 라이브러리.
- async로 비동기 함수를 선언할 수 있고, await으로 비동기 함수를 호출할 수 있다.
기본 개념
import asyncio
def normal_func():
return 'func'
normal_func()
>>> 'func'
async def async_func():
return 'func'
async_func()
>>> <coroutine object async_func at 0x105756740>
- 파이썬에서는 async로 구현된 비동기 함수를 코루틴이라고 하는데,
- async_func을 실행해보면 코루틴 객체를 반환하는 것을 알 수 있다.
await을 붙여줘야 비동기함수의 실행이 가능하다.
await async_func()
>>> 'func'
Gather
await asyncio.gather(
find_user_async(3),
find_user_async(2),
find_user_async(1),
)
- Gather를 사용하면, 비동기 함수를 동시에 쉽게 실행 가능하다.
- gather 또한 비동기함수이기 때문에 await으로 호출해야 한다는 점~