# 默认情况下,子线程和主线程的关系是:如果某个子线程执行的时间长,主线程会等待子线程执行完后,主线程才会结束
# 子线程守护主线程,子线程的生存周期是跟随着主线程一起变化,即使子线程还没执行完,只要主线程要结束了,子线程也会随着主线程结束,而不是主线程默默等待子线程执行完

import threading,time

def work1():
    #子线程执行完需要5s左右
    for i in range(10):
        print("正在执行:",i)
        time.sleep(0.5)

if __name__ == '__main__':
    t1 = threading.Thread(target=work1)
    #设置子线程为守护线程
    t1.setDaemon(True)
    t1.start()
    #主线程执行2s左右就会结束,即使这时候子线程还没执行完,因为子线程是主线程的守护线程,也会随着主线程结束。
    time.sleep(2)
    print("game over")