본문 바로가기

비동기

Python : Event_loop - 동기작업을 비동기로 처리하기 Event_loop의  run_in_executor는 CPU 바운드 작업 또는 비동기 지원이 되지 않는 작업을 비동기적으로 처리하기 위해 asyncio에서 제공하는 메서드입니다. 비동기 함수로 전환할 수 없는 함수(예: 블로킹 I/O 작업, 복잡한 계산 작업 등)를 별도의 스레드나 프로세스에서 실행하고, 이벤트 루프는 다른 비동기 작업을 계속 실행할 수 있게 합니다. run_in_executor의 기본 사용법 run_in_executor는 다음과 같이 사용할 수 있습니다:await loop.run_in_executor(executor, blocking_func, *args)loop: 이벤트 루프 객체입니다.executor: concurrent.futures.ThreadPoolExecutor 또는 Proc.. 더보기
Python : Async With - 비동기 컨텍스트 관리자 와 aiohttp 사용가이드 async with는 비동기 컨텍스트 관리자로, 비동기 작업 내에서 자원을 안전하게 관리하고 정리할 수 있도록 돕는 구문입니다. 일반적인 with 문과 유사하지만, 비동기 I/O 작업과 호환되도록 설계되었습니다. 이를 통해 파일이나 네트워크 연결 같은 리소스를 효율적으로 다루면서, 자동으로 리소스를 열고 닫아주는 관리 기능을 제공합니다. 아래 예제는 async with 없이 aiohttp 를 사용하는 예제입니다.  aiohttp 는 Python에서 비동기 HTTP 클라이언트와 서버를 쉽게 구현할 수 있도록 지원하는 패키지입니다.Async With 없이 구현된 예제import aiohttpimport asyncioasync def fetch_data(url): session = aiohttp.Cli.. 더보기
Python : 코루틴(Coroutine) 요약, 사용법, 예제 1. 요약파이썬 코루틴(Coroutine)은 비동기 프로그래밍에서 자주 사용되는 기능으로, 함수가 중단되고 재개될 수 있는 방식으로 설계되었습니다. 코루틴을 사용하면 작업을 중단하거나 다시 시작할 수 있어, 효율적인 비동기 처리와 리소스 절약이 가능합니다. 특히, 데이터 파이프라인과 이벤트 기반 프로그래밍에서 유용하게 쓰이며, 파이썬 asyncio 모듈과 함께 비동기 I/O 작업을 효율적으로 처리하는 데 활용됩니다. 2. 개념코루틴은 전통적인 함수와 달리 호출자와 양방향으로 데이터를 주고받을 수 있는 함수입니다.  단일 쓰래드를 사용하여 스택을 기반으로 비동기 작업을 수행시킵니다.  코루틴은 제너레이터(generator)와 유사하게 yield 를 사용하기도 하지만, 3.5버전 이후부터는 주로 await와.. 더보기