# 守护线程
"""
1、主线程执行完后结束,不会等待子线程
2、必须在start前面添加
3、在不使用join和setDaemon时,主线程不会等待子线程,但是会在全部线程执行完之后结束主线程。
4、使用join,会阻塞主线程继续执行,会在使用了join的子线程执行完继续执行,全部线程执行后结束主线程
5、使用setDaemon时,主线程执行完,全部线程就会结束不会等待子线程执行
"""
import threading
import time
def foo(n):
time.sleep(2)
print(n, time.ctime())
if __name__ == '__main__':
t_list = []
for i in range(1, 4):
t = threading.Thread(target=foo, args=("i",))
t_list.append(t)
t.setDaemon(True)
t.start()
print('end')