제 15 장 동시 프로그래밍 가디언 스레드

제 15 장 동시 프로그래밍 가디언 스레드

# 守护线程 守护的是非守护线程(主线程也是非守护进程)
from threading import Thread,enumerate,currentThread
import time

def task():
    print('守护线程开始')
    print(currentThread())
    time.sleep(20)
    # print('守护线程结束')

def task2():
    print('子线程 start')
    time.sleep(5)
    print(enumerate())
    print('子线程 end')

if __name__ == '__main__':
    t1 = Thread(target=task)
    t2 = Thread(target=task2)
    t1.daemon = True
    t2.start()
    t1.start()
    print('主')

데몬 스레드 : 비 스레드 코드가 데몬을 실행이 완료가, 데몬 스레드가 끝날 것 (비 데몬 스레드의 보호자)

         스레드 후 메인 쓰레드가 end (데몬 스레드가이 시간에 복구 될 간주 다른 비 데몬을 실행 완료

강조 : 메인 스레드가 아닌 스레드 데몬 (스레드를 포함 과정)입니다

요약 : 데몬을 도입하는 이유는 메인 스레드의 끝이 과정의 끝을 의미, 전체 프로세스는 자원을 재활용되며, 과정은 비 데몬 스레드가 실행을 완료 한 후에 종료 보장해야

데몬과 데몬 스레드의 차이

  • 데몬 : 주요 프로세스 코드가 실행이 완료 데몬은 끝날 것이다
  • 데몬 스레드 : 비 데몬 스레드가 실행이 완료, 스레드 끝의 보호자

추천

출처www.cnblogs.com/demiao/p/11536608.html