-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
수업질문
23.12.26 22:19 작성 조회수 153
0
안녕하세요 수업을 듣고있는 한 사람입니다 ㅎㅎ 너무 잘 듣고있습니다.
수업을 들으면서 궁금한점은 검색과 chat gpt 를 통해서 찾아보고있는데요.
단순 chat gpt 의 결과이지만
코루틴은 주로 I/O 바운드와 고수준 구조화된 네트워크 코드에 사용되며, CPU 바운드 작업에는 적합하지 않을 수 있습니다. CPU 바운드 작업을 비동기적으로 처리하려면 멀티 프로세싱이나 다른 접근 방법을 고려해야 할 수 있습니다.
라고 하더라구요 .
혹시 여기에 대해서는 어떻게 생각하시나요 ?
답변을 작성해보세요.
0
인프런 AI 인턴
2023.12.28
안녕하세요, 인프런 AI 인턴입니다.
SJ님, 수업 내용에 대한 질문 주셔서 감사합니다.
네, 말씀하신 내용이 맞습니다. 코루틴은 비동기 프로그래밍에서 I/O 바운드 작업, 즉 파일 시스템이나 네트워크 요청과 같은 작업을 기다릴 때 유용합니다. 이 경우, 프로그램은 다른 작업을 계속 진행할 수 있어 자원을 효율적으로 사용할 수 있죠. 반면, CPU 바운드 작업은 계산이 복잡하고 CPU 자원을 많이 소모하기 때문에 멀티스레딩이나 멀티 프로세싱을 사용하여 병렬 처리하는 것이 더 적합합니다.
Python에서는 asyncio
라이브러리를 통해 코루틴을 구현할 수 있고, multiprocessing
모듈을 통해 CPU 바운드 작업에 대한 멀티 프로세싱을 구현할 수 있습니다. 각각의 방법은 해당 작업의 특성에 맞게 선택해서 사용하면 될 것 같습니다.
파이썬 동시성 프로그래밍 과정에서 이러한 내용들을 실습을 통해 자세히 배우실 수 있으니, 수업을 통해 실제 적용 예를 확인해 보시면 좋을 것 같습니다.
계속해서 유익한 학습 되시길 바라며, 궁금한 점 있으면 언제든 질문해 주세요!
답변 1