Pythonthreading模块守护主线程
threading模块:守护主线程
默认情况下 主线程创建的子线程 都 不是 守护线程 (setDaemon(False))
让我们通过下面代码体会一下:import threading import time def xiulingmu(name): print(f"{name}正在修建陵墓") time.sleep(2) print(f"{name}已经完成修建任务") workers=["工人1","工人2","工人3","工人4"] for worker in workers: t=threading.Thread(target=xiulingmu,args=(worker,)) t.start() print(threading.active_count()) print("主线程结束了!") 运行后>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 工人1正在修建陵墓 工人2正在修建陵墓 工人3正在修建陵墓 工人4正在修建陵墓 5 主线程结束了! 工人3已经完成修建任务 工人4已经完成修建任务工人1已经完成修建任务 工人2已经完成修建任务
通过运行代码,可以看到主线程运行结束后,子线程没有运行完
当设置某个线程为守护线程的时候,此线程所属进程不会等待子线程运行结束,主线程结束后,进程将立即结束所有子线程。设置线程为守护线程:
方法1:创建Thread类对象时,设置为守护线程
创建类对象时,参数daemon传True 即可,这也是最简单的方法import threading import time def xiulingmu(name): print(f"{name}正在修建陵墓") time.sleep(2) print(f"{name}已经完成修建任务") workers=["工人1","工人2","工人3","工人4"] for worker in workers: t=threading.Thread(target=xiulingmu,args=(worker,),daemon=True)#创建Thread类对象时,设置为守护线程 t.start() print(threading.active_count()) print("主线程结束了!") 运行后>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 工人1正在修建陵墓 工人2正在修建陵墓 工人3正在修建陵墓 工人4正在修建陵墓 5 主线程结束了!
方法2:Thread类对象调用damon属性方法
创建Thread类对象后,实例对象调用damon属性方法,设置为Trueimport threading import time def xiulingmu(name): print(f"{name}正在修建陵墓") time.sleep(2) print(f"{name}已经完成修建任务") workers=["工人1","工人2","工人3","工人4"] for worker in workers: t=threading.Thread(target=xiulingmu,args=(worker,)) t.daemon=True #Thread类对象调用damon属性方法设置 t.start() print(threading.active_count()) print("主线程结束了!") 运行后>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 工人1正在修建陵墓 工人2正在修建陵墓 工人3正在修建陵墓 工人4正在修建陵墓 5 主线程结束了!
方法3:Thread类对象调用setDaemon(True)方法
创建Thread类对象后,实例对象调用setDaemon()方法,参数传递Trueimport threading import time def xiulingmu(name): print(f"{name}正在修建陵墓") time.sleep(2) print(f"{name}已经完成修建任务") workers=["工人1","工人2","工人3","工人4"] for worker in workers: t=threading.Thread(target=xiulingmu,args=(worker,)) t.setDaemon(True) #Thread类对象调用setDaemon(True)方法 t.start() print(threading.active_count()) print("主线程结束了!") 运行后>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 工人1正在修建陵墓 工人2正在修建陵墓 工人3正在修建陵墓 工人4正在修建陵墓 5 主线程结束了! #主线程结束后,所有子线程结束!
5的雪地世界杯,足够精彩!2022卡塔尔世界杯比赛正酣,在北半球冬天的绿茵场上,全世界热爱足球的人汇集在一起,共同守候世界足坛的最高荣誉诞生,共同奔赴如期而至的激情与狂欢。凛冬可越,热爱不止。12月11日,
世界杯半决赛直播4强赛狄保预计先发录像比分排名世界杯半决赛直播4强赛狄保预计先发录像比分排名在团队运动中,队友的搭配LDSPORTS分析默契有时也会影响战况,而当阿根廷队长梅西在场上带领球队奔跑时,身边的队友也尽全力为梅西争取
伊恩赖特喜欢齐耶赫世界杯的表现,这与他在切尔西不一样直播吧12月13日讯在点评摩洛哥的表现时,评论员伊恩赖特和罗伊基恩都称赞了齐耶赫的表现。伊恩赖特说道我喜欢齐耶赫本届世界杯的表现,我喜欢他比赛的方式。当他为自己的国家队效力时,他表
世界杯四强火辣大嫂盘点!美胸翘臀全身刺青2022卡塔尔世界杯接近尾声,在如今所剩的四强球队中,除了球星惹关注,性感火辣的大嫂也是场外焦点!阿根廷梅西老婆安东内拉从小就是青梅竹马的安东内拉罗库索与阿根廷国家足球队队长梅西,
拥有钢铁意志的格子军团来自怎样国度,走进真实的克罗地亚!克罗地亚1991年南斯拉夫解体后才宣布独立,克罗地亚国家足球队1998年首次参加世界杯就一举夺得季军,一路走来让人惊艳,连续第二次史上第三次打进世界杯四强。四年前在俄罗斯,克罗地亚
当足球日遇到世界杯丨世界足球日丨观天测地编者按从古至今,人类从未停止过探索未知世界的脚步,认知世界的能力和手段与日俱增。中科院之声与中国科学院空天信息创新研究院联合开设观天测地专栏,为大家介绍天上地上探索的那些事儿,带来
3比0!梅西刷新多项纪录晋升射手王!阿根廷大胜克罗地亚杀入决赛12月14日凌晨3时,2022世界杯第一场半决赛在阿根廷队和克罗地亚队之间打响!赛前,阿根廷队主教练斯卡洛尼表示克罗地亚队会按照他们一直以来的踢法来比赛,他们不是单纯地拼防守或进攻
2022年高分Switch游戏汇总!一年最佳游戏一网打尽!1。M站2022年高分Switch游戏汇总GameSpot总结了M站2022年Switch平台或包含Switch平台的游戏,其中传送门同伴合集以96分位居第一,以下为榜单详细排名1
心绞痛胸痛的调理心绞痛胸痛都属于中医胸痹的范畴,主要是指出现胸部闷痛等症状的疾病,轻者仅能感觉到胸闷窒息感呼吸不通畅,重者则会有明显胸痛,甚至是伴有胸痛彻背气短喘息不得卧等症。主要病因主要与寒邪内
感冒发烧的饮食帮助(二)好医生为健康护航我们常说的感冒,既是侠义的上呼吸道感染,又称普通感冒。它是鼻腔咽或喉部急性炎症的总称,发生率较高,多可在10天左右自愈。它一般以鼻咽部炎症为主要临床表现咳嗽流鼻涕打
一杯菊花茶堪比百味药入秋之后,天气转凉,降雨减少,天气越来越干燥,很多人常会感到口干咽燥皮肤干燥瘙痒鼻腔干燥出血等。天气干燥之时需要多饮水,但是白开水淡而无味,人们常会选择一些药食两用之品泡水代茶饮用