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中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
深入了解Python数据类型之列表
Jun 24 Python
儿童编程python入门
May 08 Python
对pandas处理json数据的方法详解
Feb 08 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
Tensorflow加载Vgg预训练模型操作
May 26 Python
Opencv求取连通区域重心实例
Jun 04 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
浅析Python 字符编码与文件处理
Sep 24 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 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 cookie 登录验证示例代码
2009/03/16 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
使用npm安装最新版本nodejs
2018/01/18 NodeJs
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
CSS3 边框效果
2019/11/04 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
Weblogic和WebSphere不同特点
2012/05/09 面试题
计算机毕业大学生推荐信
2013/12/01 职场文书
员工保密承诺书
2014/05/28 职场文书
会计学自荐信
2014/06/03 职场文书
法制演讲稿
2014/09/10 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Python基本的内置数据类型及使用方法
2022/04/13 Python