inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

동시성 vs 병렬성

동시성과 병렬성

326

SJ

작성한 질문수 155

0

설명을 잘 해주셔서 이해가 잘 됐습니다.

node js 에서는 싱글 스레드로 돌아가고 있고 ,

코드를 작성하게 될때 , async await 를 붙여서

동시성 작업을 많이 하는걸로 알고있습니다.

 

이는 싱글스레드라 할지라도 엔진상 속도가 잘 나오기 때문에 괜찮다고 들었는데요

python 입장에서는 어떤가요 ??

python 동시성 FastAPI

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

SJ님, Python에서도 동시성 프로그래밍을 지원합니다. Python에서는 asyncio 라이브러리를 통해 비동기 프로그래밍을 구현할 수 있습니다. asyncawait 키워드를 사용하여 코루틴(coroutines)을 작성함으로써, I/O 바운드(IO-bound) 작업을 동시에 실행하며 성능을 향상시킬 수 있습니다. 실제로 파이썬의 동시성 기능을 통해 여러 네트워크 요청이나 데이터베이스 쿼리 등을 효율적으로 처리할 수 있습니다. 그러나 Python은 Global Interpreter Lock(GIL) 때문에 같은 시간에 하나의 스레드만 실행되므로 CPU 바운드(CPU-bound) 작업에 있어서는 멀티 프로세싱을 사용하는 것이 더 좋을 수 있습니다.

즉, Python은 I/O 바운드 작업의 경우, asyncio 라이브러리를 통해 매우 효율적으로 동시성을 다룰 수 있지만, CPU 바운드 작업에 대해서는 멀티 스레딩보다 멀티 프로세싱을 고려해야 할 수 있습니다.

대규모 크롤링 시 동시 요청 수 제어 방법

0

94

2

AWS LighSail 접근 불가

0

134

1

강의상의 readme와 배포되어 있는 것이 다른 것 같아요

0

96

1

book_scraper.py 에서 import get_secret 관련 질문

0

100

1

ThreadPoolExecutor 중간에 멈추는 법

0

291

1

몽고Db 기초 질문

0

195

1

async await 문법 질문

0

237

1

멀티 스레딩 질문..

0

193

1

교안 제공은 안되나요?

0

227

1

TypeError: field Config is defined without type annotation

0

258

1

RuntimeWarning: Enable tracemalloc to get the object allocation traceback

0

1709

1

jinja2templates

0

244

1

몽고DB 설정 관련 질문

0

242

1

비동기 함수를 동기적인 실행으로 만드는 부분 질문입니다

1

308

2

proxy 사용 질문

0

261

1

AWS Lightsail SSL handshake failed 오류 문의드립니다.

0

491

1

python select linter ? 오류

1

739

2

수업질문

1

352

1

response 객체에서 키값으로 조회 시 KeyError 발생

0

568

1

from config import get_secret 질문

0

386

1

파이썬 코루틴활용 영상 질문

0

279

1

가상환경 설정 질문

0

316

1

pydantic import error

0

1225

2

동시성 프로그래밍으로 이미지 다운로더 개발

0

311

1