Python多线程:主线程等待所有子线程结束代码


Posted in Python onApril 25, 2020

我就废话不多说了,还是直接看代码吧!

from time import ctime
import threading
import time

def a():
    #for i in range(5):
        print('Program a is running... at ', ctime(),u'.线程名为:',threading.current_thread().name )
        time.sleep(0.2)
        
def b(x):
    #for i in range(5):
        print('Program b('+x+') is running... at ', ctime(),u'.线程名为:',threading.current_thread().name )
        time.sleep(0.1)
        

if __name__ == '__main__':
    print('Mainthread %s is running...' % threading.current_thread().name)
    thread_list = []
    for i in range(400):#同时运行多个
       t1= threading.Thread(target=a)
       thread_list.append(t1)
       
    t2 = threading.Thread(target=b, args=('Python',))
    thread_list.append(t2)
    t3 = threading.Thread(target=b, args=('Java',))
    thread_list.append(t3)
    

    for t in thread_list:
        t.setDaemon(True)  # 设置为守护线程,不会因主线程结束而中断
        t.start()
    for t in thread_list:
        t.join()  # 子线程全部加入,主线程等所有子线程运行完毕

    print('Mainthread %s ended.' % threading.current_thread().name)

补充知识:Python主线程结束为什么守护线程还在运行?

在实际的交互模式中,主线程只有在Python退出时才终止,所以action函数输出结果还是被打印出来了。”

按照我的理解应该是说,在shell里主线程在输出结果之后并没有真的结束,所以action还会打印结果。

建议把程序编译出来,放到另外的环境中测试,估计就会是你要的结果了。

以上这篇Python多线程:主线程等待所有子线程结束代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
python实现将多个文件分配到多个文件夹的方法
Jan 07 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
python zip()函数使用方法解析
Oct 31 Python
如何基于python生成list的所有的子集
Nov 11 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
Python3 webservice接口测试代码详解
Jun 23 Python
python之语音识别speech模块
Sep 09 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 #Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 #Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 #Python
python 追踪except信息方式
Apr 25 #Python
Python实现捕获异常发生的文件和具体行数
Apr 25 #Python
python IDLE添加行号显示教程
Apr 25 #Python
IDLE下Python文件编辑和运行操作
Apr 25 #Python
You might like
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
PHP模板解析类实例
2015/07/09 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
采购类个人求职的自我评价
2014/02/18 职场文书
管理人员岗位职责
2015/02/14 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL