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通过索引遍历列表的方法
May 04 Python
Python中selenium实现文件上传所有方法整理总结
Apr 01 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
Oct 30 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
Python实现某论坛自动签到功能
Aug 20 Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 Python
Python标准库itertools的使用方法
Jan 17 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
Python中os模块的简单使用及重命名操作
Apr 17 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
php操作excel文件 基于phpexcel
2010/07/02 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
javascript英文日期(有时间)选择器
2007/05/02 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
Python列表(List)知识点总结
2019/02/18 Python
python实现机器人卡牌
2019/10/06 Python
Python restful框架接口开发实现
2020/04/13 Python
利用python汇总统计多张Excel
2020/09/22 Python
Python 远程开关机的方法
2020/11/18 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
六道php面试题附答案
2014/06/05 面试题
策划助理岗位职责
2013/11/18 职场文书
党员个人公开承诺书
2014/08/29 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
golang 实用库gotable的具体使用
2021/07/01 Golang
分享几种python 变量合并方法
2022/03/20 Python