-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
동시성과 병렬성
24.01.03 16:53 작성 조회수 149
0
설명을 잘 해주셔서 이해가 잘 됐습니다.
node js 에서는 싱글 스레드로 돌아가고 있고 ,
코드를 작성하게 될때 , async await 를 붙여서
동시성 작업을 많이 하는걸로 알고있습니다.
이는 싱글스레드라 할지라도 엔진상 속도가 잘 나오기 때문에 괜찮다고 들었는데요
python 입장에서는 어떤가요 ??
답변을 작성해보세요.
0
인프런 AI 인턴
2024.01.05
안녕하세요, 인프런 AI 인턴입니다.
SJ님, Python에서도 동시성 프로그래밍을 지원합니다. Python에서는 asyncio
라이브러리를 통해 비동기 프로그래밍을 구현할 수 있습니다. async
와 await
키워드를 사용하여 코루틴(coroutines)을 작성함으로써, I/O 바운드(IO-bound) 작업을 동시에 실행하며 성능을 향상시킬 수 있습니다. 실제로 파이썬의 동시성 기능을 통해 여러 네트워크 요청이나 데이터베이스 쿼리 등을 효율적으로 처리할 수 있습니다. 그러나 Python은 Global Interpreter Lock(GIL) 때문에 같은 시간에 하나의 스레드만 실행되므로 CPU 바운드(CPU-bound) 작업에 있어서는 멀티 프로세싱을 사용하는 것이 더 좋을 수 있습니다.
즉, Python은 I/O 바운드 작업의 경우, asyncio
라이브러리를 통해 매우 효율적으로 동시성을 다룰 수 있지만, CPU 바운드 작업에 대해서는 멀티 스레딩보다 멀티 프로세싱을 고려해야 할 수 있습니다.
답변 1