기계는 거짓말하지 않는다

Python 데몬(daemon) 쓰레드 설정(메인 쓰레드 종료 시 함께 종료) 본문

Python

Python 데몬(daemon) 쓰레드 설정(메인 쓰레드 종료 시 함께 종료)

KillinTime 2024. 1. 15. 22:47

파이썬의 threading 모듈에서 thread.daemon 속성을 True로 설정하면

해당 쓰레드가 데몬(daemon) 쓰레드로 표시되도록 한다.

데몬 쓰레드는 메인 쓰레드가 종료되면 함께 종료되는 쓰레드이다.

기본적으로 thread.daemon 속성은 False로 설정된다.

기본적으로 생성된 쓰레드는 데몬 쓰레드가 아니다.

메인 쓰레드가 종료되어도 데몬이 아닌 쓰레드는 실행을 계속한다.

thread.daemon을 True로 설정하면 해당 쓰레드가 메인 쓰레드와 함께 종료되도록 설정되고,

백그라운드에서 동작하는 작업 등을 수행하는 쓰레드를 만들 때 유용하다.

import threading
import time

def daemon_thread():
    while True:
        print("Running daemon thread.")
        time.sleep(1)

# 쓰레드 생성 및 데몬 속성 설정
daemon_thread = threading.Thread(target=daemon_thread)
daemon_thread.daemon = True

# 쓰레드 시작
daemon_thread.start()

# 메인 쓰레드에서 일부 작업 수행
time.sleep(3)
print("Main thread is done.")
Comments