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

yahoo님의 프로필 이미지
yahoo

작성한 질문수

고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)

multiprocessing(5) - Queue, Pipe

10:10쯤에 질문있습니다.

작성

·

191

0

안녕하세요,
process.join()하면 subprocess의 job이 모두 complete된 것인데, 왜 다시 while True에서 process가 끝날 때까지 무한대기를 해야 하는 것인가요? 이미 process의 job은 종료된 것 아닌가요?

...
    q = Queue()
    
    process = []
    for i in range(5):
        t = Process(name=str(i), target=worker, args=(1, 100000000, q)) 
        process.append(t)
        t.start() 
...
    while True:

 

답변 1

1

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요. 좋은 질문입니다.

while True 문을 제거하고 같은 실행 결과가 나오는지 확인해보시면 됩니다!

무한대기의 의미보다는 모든 프로세스가 완전히 종료 될 수 있게 잠시 대기를 한다고 생각하시면 될 것 같습니다.

물론 while True 문이 없어도 동작 할 수 있습니다!

감사합니다.

 

yahoo님의 프로필 이미지
yahoo

작성한 질문수

질문하기