인프런 커뮤니티 질문&답변

SJ님의 프로필 이미지
SJ

작성한 질문수

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

동시성 vs 병렬성

동시성과 병렬성

작성

·

243

0

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

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

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

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

 

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

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

답변 1

0

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

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

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

SJ님의 프로필 이미지
SJ

작성한 질문수

질문하기