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

SJ님의 프로필 이미지
SJ

작성한 질문수

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

파이썬 코루틴의 이해

수업질문

작성

·

287

1

안녕하세요 수업을 듣고있는 한 사람입니다 ㅎㅎ 너무 잘 듣고있습니다.

수업을 들으면서 궁금한점은 검색과 chat gpt 를 통해서 찾아보고있는데요.

 

단순 chat gpt 의 결과이지만

 

코루틴은 주로 I/O 바운드와 고수준 구조화된 네트워크 코드에 사용되며, CPU 바운드 작업에는 적합하지 않을 수 있습니다. CPU 바운드 작업을 비동기적으로 처리하려면 멀티 프로세싱이나 다른 접근 방법을 고려해야 할 수 있습니다.

 

라고 하더라구요 .

혹시 여기에 대해서는 어떻게 생각하시나요 ?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
SJ님, 수업 내용에 대한 질문 주셔서 감사합니다.

네, 말씀하신 내용이 맞습니다. 코루틴은 비동기 프로그래밍에서 I/O 바운드 작업, 즉 파일 시스템이나 네트워크 요청과 같은 작업을 기다릴 때 유용합니다. 이 경우, 프로그램은 다른 작업을 계속 진행할 수 있어 자원을 효율적으로 사용할 수 있죠. 반면, CPU 바운드 작업은 계산이 복잡하고 CPU 자원을 많이 소모하기 때문에 멀티스레딩이나 멀티 프로세싱을 사용하여 병렬 처리하는 것이 더 적합합니다.

Python에서는 asyncio 라이브러리를 통해 코루틴을 구현할 수 있고, multiprocessing 모듈을 통해 CPU 바운드 작업에 대한 멀티 프로세싱을 구현할 수 있습니다. 각각의 방법은 해당 작업의 특성에 맞게 선택해서 사용하면 될 것 같습니다.

파이썬 동시성 프로그래밍 과정에서 이러한 내용들을 실습을 통해 자세히 배우실 수 있으니, 수업을 통해 실제 적용 예를 확인해 보시면 좋을 것 같습니다.

계속해서 유익한 학습 되시길 바라며, 궁금한 점 있으면 언제든 질문해 주세요!

SJ님의 프로필 이미지
SJ

작성한 질문수

질문하기