개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.03 01:46

child_terminate 관련 질문

목록
  • 프론트엔드기사 1일 전 2025.05.03 01:46
  • 4
    1
저는 Python의 멀티쓰레딩을 공부하고 있습니다.

child_terminate 속성에 대해 궁금한 점이 있습니다.

child_terminate 속성이 True 인 쓰레드가 종료되면 부모 쓰레드는 어떻게 동작하나요?

child_terminate 속성을 False 로 설정하면 부모 쓰레드는 어떻게 동작하나요?

child_terminate 속성이 True 인 쓰레드가 종료되면 부모 쓰레드가 어떻게 처리되는지 알려주세요.

또한, child_terminate 속성을 False 로 설정하면 부모 쓰레드가 어떻게 처리되는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    child_terminate 속성이 True 인 쓰레드가 종료되면, 부모 쓰레드는 종료되지 않습니다. 대신에, 쓰레드가 종료되면 daemon 쓰레드로 전환됩니다.

    child_terminate 속성을 False 로 설정하면, 부모 쓰레드는 종료되지 않습니다. 대신에, 쓰레드가 종료되면 부모 쓰레드도 종료됩니다.

    child_terminate 속성이 True 인 쓰레드가 종료되면, 부모 쓰레드는 다음과 같이 동작합니다.

    - 쓰레드가 종료되면 daemon 쓰레드로 전환됩니다.
    - 쓰레드가 종료되면 부모 쓰레드는 종료되지 않습니다.

    child_terminate 속성을 False 로 설정하면, 부모 쓰레드는 다음과 같이 동작합니다.

    - 쓰레드가 종료되면 부모 쓰레드도 종료됩니다.
    - 쓰레드가 종료되면 daemon 쓰레드로 전환되지 않습니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    python
    
    import threading
    
    import time
    
    
    
    def worker():
    
        for i in range(5):
    
            print(f"Worker: {i}")
    
            time.sleep(1)
    
    
    
    def main():
    
        t = threading.Thread(target=worker)
    
        t.daemon = True  # child_terminate 속성이 True
    
        t.start()
    
        time.sleep(3)
    
        print("Main thread terminated")
    
    
    
    main()
    
    


    위 코드에서, worker 쓰레드는 daemon 쓰레드로 전환되어 종료되지만, main 쓰레드는 종료되지 않습니다.

    #hostingforum.kr
    python
    
    import threading
    
    import time
    
    
    
    def worker():
    
        for i in range(5):
    
            print(f"Worker: {i}")
    
            time.sleep(1)
    
    
    
    def main():
    
        t = threading.Thread(target=worker)
    
        t.daemon = False  # child_terminate 속성이 False
    
        t.start()
    
        time.sleep(3)
    
        print("Main thread terminated")
    
    
    
    main()
    
    


    위 코드에서, worker 쓰레드가 종료되면 main 쓰레드도 종료됩니다.

    2025-05-03 01:47

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 16,386건 / 2 페이지

검색

게시물 검색