본문 바로가기

반응형

코루틴

[FastAPI] 파이썬 멀티 스레딩 사용해보기 해당 글은 인프런의 ' 파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)'을 수강하며 정리한 글이다. 파이썬 멀티 스레딩 우선 멀티 스레딩이란, 이전 글에서 정리한 '동시성'의 개념에서 비롯된 프로그래밍 개념이다. 하나의 프로세스 내에서 여러 개의 스레드가 동시에 작업을 실시해 속도 향상 등의 성능 개선 효과를 기대할 수 있다. 각 스레드가 독립적으로 실행하지만 자원을 공유하기 때문에, 효율적이면서도 충돌 가능성의 위험이 있다. 싱글 스레딩의 예시 # 파이썬 싱글스레딩 예시 import requests import time import os import threading def fetcher(session, url): print(f"{os.getpid()} proces.. 더보기
[FastAPI] 동기와 비동기, 코루틴 개념 정리 FastAPI를 본격적으로 사용해보기에 앞서 알아보아야 할 개념인 동기와 비동기의 차이, 그리고 코루틴 함수에 대해서 공부해보았다. 동기와 비동기 - 동기(sync) '코드가 동기적으로 동작한다'라는 말의 뜻은 '코드가 반드시 작성된 순서로 실행된다.'라는 뜻과 동일하다고 생각하면 된다. A,B,C의 순서로 코드가 작성되어 있다면, A 함수가 실행되고 끝나면 B가 실행되는 플로우로 진행된다. import time def delivery(name, mealtime): print(f"{name}에게 배달완료!") time.sleep(mealtime) # n초 대기 print(f"{name} 식사완료, {mealtime}시간 소요...") print(f"{name} 그릇 수거 완료") def main(): d.. 더보기

728x90