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 主线程结束了! #主线程结束后,所有子线程结束!
孕晚期如厕尴尬又纠结,有便秘的孕妇更要注意,避免刺激宫缩进入孕晚期,预示着孕育历程即将结束,但是千万别觉得孕晚期的孕妈终于可以松口气了,要知道孕晚期的一系列不适症状以及胎儿随时可能会发生的早产风险都让孕妈在孕晚期深深的捏了把汗。孕晚期胎
事关社保缓缴,最新通知来了人力资源社会保障部国家发展改革委财政部国家税务总局等四部门办公厅近日联合发布通知,明确自2022年9月起,各省自治区直辖市及新疆生产建设兵团可根据本地区受疫情影响情况和社会保险基金
长三角社保一卡通来了!沪苏浙皖居民看病乘车办养老金等将一卡互通东方网记者项颖知9月29日报道9月下旬,长三角三省一市人大常委会同步审议通过推进长三角区域社会保障卡居民服务一卡通规定,自10月1日起同步施行,为建立长三角区域以社会保障卡为载体的
机构人民币汇率明年下半年有望回升至6。9左右在岸及离岸人民币昨日曾经跌破7。25及7。26,一度创下14年新低,但之后反弹至7。20及7。16水平。人民银行表示,汇率双向浮动是常态,不要赌人民币汇率单边升值或贬值,久赌必输。
海天味业(二)成长的秘诀提价控费和规模效应上篇在纯财务数据层面对海天做了一个概览式的分析。在阅读了海天的招股书和2014年2月上市至今所有年报之后,这篇继续聊一些海天令人印象深刻的东西,特别是增利比增收更多的秘密。1。增收
你们觉得艾尔登法环中,哪里可以称得上是宫崎英高的怜悯?新手武器猎犬长牙和陨石杖Q。猎犬长牙18力气17灵巧的需求,双持的话其实点到12力气就可以了,属性点要求不高但是面板优秀并且获取难度不算高(狼哥任务帮打还送两块失色2)军师更是售卖
首日票房破亿!国庆档最大赢家,稳了国庆档开播24小时,万里归途票房破亿,多平台开分9。国庆档票房冠军还有悬念吗?截止目前成就里程碑很多没有去看过的小伙伴可能会问,作为主旋律电影,万里归途的破圈难道又是一次消费爱国情
我为你祝福人性中普遍存在着恻隐之心,看到他人受苦,即便伸不了援手,但当下生起悲悯之心,对大多数人而言不算太难最难的是在自己处于相对劣势时,能不能平心静气地接受,乃至祝福别人?鹤立鸡群的结果若
无一爱字却句句含情我曾踏月而来,只因你在山中。故事的开头总是这样适逢其会,猝不及防,故事的结尾总是这样,花开两朵,天各一方。张嘉佳这里荒芜寸草不生,后来你来这走了一遭,奇迹般万物生长,这也是我的心。
如果生活太累,读读苏东坡这10句话林语堂说苏东坡是不可无一,难能有二的人间绝版。这位影响了万千后人的大文豪,以他独有的坚韧与豁达,抚慰和激励着当下的我们。人生起落,世事无常,当奔波成为常态,我们难免会疲惫受伤,困顿
蜜雪冰城将在A股上市年盈利19亿,它是下沉市场奶茶里的神?蜜雪冰城正式递交了自己的招股书,准备在深交所上市。甜筒卖3元柠檬水卖4元果茶卖5元奶茶卖7元,靠着这些定价亲民的产品,蜜雪冰城2021年收入突破100亿,开店量2万多家,一年净利润