Python에서 스레드 조인

Manav Narula 2022년1월22일
Python에서 스레드 조인

멀티스레딩을 통해 완전한 CPU 최적화를 얻을 수 있습니다.

스레드는 과도한 메모리 오버헤드를 필요로 하지 않으며 여러 스레드도 정보를 통신하고 공유할 수 있습니다. Python에서는 threading 모듈을 사용하여 스레드로 작업합니다.

이제 Python의 스레드와 함께 join() 메서드에 대해 논의할 것입니다. 이 함수를 사용하여 해당 스레드가 종료될 때까지 호출 스레드를 차단합니다.

일반적으로 종료되거나 일부 예외 및 시간 초과로 인해 종료될 수 있습니다. 시간 초과 값은 필요한 경우 join() 함수에서도 언급할 수 있습니다.

이제 예를 들어 이에 대해 논의해 보겠습니다.

import threading
import time


class sample(threading.Thread):
    def __init__(self, time):
        super(sample, self).__init__()
        self.time = time
        self.start()

    def run(self):
        print(self.time, " starts")
        for i in range(0, self.time):
            time.sleep(1)
        print(self.time, "has finished")


t3 = sample(3)
t2 = sample(2)
t1 = sample(1)
t3.join()
print("t3.join() has finished")
t2.join()
print("t2.join() has finished")
t1.join()
print("t1.join() has finished")

출력:

3  starts
2  starts
1  starts
1 has finished
2 has finished
3 has finished
t3.join() has finished
t2.join() has finished
t1.join() has finished

위의 예에서 t3이 완료되면 다른 두 스레드가 종료됩니다. 그러나 join() 함수는 주 스레드를 보유하고 다른 스레드는 종료될 때까지 기다립니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Thread