>  기사  >  백엔드 개발  >  Python 스레드 조인을 사용하는 방법

Python 스레드 조인을 사용하는 방법

(*-*)浩
(*-*)浩원래의
2019-07-03 10:47:542483검색

조인의 역할이 강조됩니다. 조인이 수행하는 작업은 스레드 동기화입니다. 즉, 메인 스레드 작업이 끝난 후 차단 상태로 들어가고 메인 스레드가 종료되기 전에 다른 하위 스레드의 실행이 완료되기를 기다립니다. .

Python 스레드 조인을 사용하는 방법

join에는 시간 초과 매개변수가 있습니다. (권장 학습: Python 비디오 자습서)

데몬 스레드를 설정할 때 이는 기본 스레드가 시간 초과를 기다릴 때 하위 스레드를 종료한다는 의미입니다. 프로그램을 종료하세요. 따라서 하위 스레드가 10개라면 총 대기 시간은 각 타임아웃의 누적 합계가 됩니다. 간단히 말하면, 각 하위 스레드에 시간 초과를 부여하고 시간이 지나면 작업 완료 여부에 관계없이 바로 종료됩니다.

데몬 스레드가 설정되지 않은 경우 기본 스레드는 시간 초과가 누적될 때까지 대기합니다. 시간이 지나면 기본 스레드는 종료되지만 하위 스레드는 종료되지 않습니다. 모든 하위 스레드가 종료될 때까지 계속 실행됩니다. 프로그램이 종료됩니다.

join의 역할

import threading
import time

def run():

    time.sleep(2)
    print('当前线程的名字是: ', threading.current_thread().name)
    time.sleep(2)


if __name__ == '__main__':

    start_time = time.time()

    print('这是主线程:', threading.current_thread().name)
    thread_list = []
    for i in range(5):
        t = threading.Thread(target=run)
        thread_list.append(t)

    for t in thread_list:
        t.setDaemon(True)
        t.start()

    for t in thread_list:
        t.join()

    print('主线程结束了!' , threading.current_thread().name)
    print('一共用时:', time.time()-start_time)

더 많은 Python 관련 기술 기사를 보려면 Python 튜토리얼 칼럼을 방문하여 알아보세요!

위 내용은 Python 스레드 조인을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.