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

genom1324님의 프로필 이미지
genom1324

작성한 질문수

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

2-4 멀티프로세싱 예제

작성

·

568

0

`04-3-cpu-multi-processing.py`는 멀티프로세싱 예제 인데요

process id는 worker 만큼 출력이 되는데, threading.get_ident() 으로 얻은 thread identity는 동일한 값이 나와서요.

서로 다른 프로세스가 같은 스레드를 사용하는 것인가요??

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

threading.get_ident()는 현재 스레드의 식별자(identity)를 반환합니다. multiprocessing 모듈에서는 각각의 프로세스가 서로 독립적인 메모리 공간을 가지기 때문에, 서로 다른 프로세스에서 동일한 threading.get_ident()를 호출해도 서로 다른 값이 반환됩니다.

따라서, 04-3-cpu-multi-processing.py 예제에서 서로 다른 프로세스가 동일한 threading.get_ident() 값을 반환하는 상황은 발생하지 않습니다. 만약 발생한다면, 이는 예상치 못한 결과이므로, 다시 한번 코드를 검토해보시길 권장드립니다.

추가적으로, 멀티프로세싱과 멀티스레딩은 각각 개념이 다르기 때문에, 정확한 이해 후 사용하시는 것이 좋습니다.

다른 궁금한 점이 있으면 언제든지 댓글로 질문해주세요 :)

genom1324님의 프로필 이미지
genom1324

작성한 질문수

질문하기