파이썬 멀티스레드 질문입니다

조회수 2169회

각각 스레딩을 독립적으로 실행시키고싶습니다.

1스레드와 2스레드가 작동하고. 1스레드가 종료될때 2스레드가 아직도 동작중이여도 1스레드가 다시 작동되게 하고 싶습니다.

반복문 안에

T1=Thread(target=~~~)
T2=Thread(target=~~~)
T1.start()
T2.start()
T1.join()
T2.join()

이런식으로 썼는데요. T2.join() 부분때문에 T1스레드가 T2스레드가 종료될때까지 기다리네요.

방법이 있을까요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • is_alive 를 써서 T2가 살아있을 때만 join을 하면 어떨까요?

    T1.join()
    while True:
        if T2.is_alive():
            T1.start()
        else:
            T2.join()
    

    이런 느낌으로요.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)