유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Python Asynchronous Programming Tutorial: Asyncio, async & await Explained

Code with Josh

2025. 9. 25.

0

#backend
  • 파이썬 코드가 파일, API, 데이터베이스 등 I/O 작업 대기 때문에 느려지는 현상을 비동기 프로그래밍으로 해결할 수 있습니다. 🐢
  • asyncio를 활용한 비동기 프로그래밍은 추가 하드웨어 없이 프로그램 속도를 향상시키는 핵심 방법입니다. 🚀
  • asyncio는 파이썬에 내장된 라이브러리로, pip install 없이 비동기 함수 생성을 가능하게 합니다. 🛠️
  • 비동기 프로그래밍은 웹 요청, 파일 읽기/쓰기, 데이터베이스 작업, API 호출 등 I/O 바운드(I/O 대기가 많은) 작업에 매우 효과적입니다. 🌐
  • 수학 연산, 이미지 전처리, CPU 집약적 작업 등 CPU 바운드(계산이 많은) 작업에는 비동기 프로그래밍이 비효율적입니다. 🧠
  • async 키워드는 비동기 함수를 정의하며, 해당 함수가 완료될 때까지 기다리지 않고 다른 작업을 동시에 시작할 수 있게 합니다. 🏃
  • await 키워드는 비동기 작업의 완료를 기다리며, 이 대기 시간 동안 다른 비동기 작업이 실행될 수 있도록 제어권을 양보합니다. ⏳
  • aiohttp 라이브러리는 requests와 달리 논블로킹(non-blocking) HTTP 요청을 가능하게 하여, 여러 웹 요청을 동시에 처리할 때 속도 향상에 기여합니다. ⚡
  • 기존 requests 라이브러리로 12.5초 걸리던 여러 URL 요청을 aiohttp와 비동기 방식으로 3.2초로 단축하여 획기적인 속도 향상을 입증했습니다. ✅
  • async는 작업을 시작하고 기다리지 않으며, await는 특정 작업의 완료를 기다리되 그동안 다른 작업이 진행되도록 하여 전체적인 동시성을 확보합니다. 🔄

Recommanded Videos