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画图学习入门教程
Jul 01 Python
python+django快速实现文件上传
Oct 24 Python
Python如何为图片添加水印
Nov 25 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
python生成随机图形验证码详解
Nov 08 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
详解python和matlab的优势与区别
Jun 28 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
python3常用的数据清洗方法(小结)
Oct 31 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 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和.net中des加解密的实现方法
2013/02/27 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
一些常用的Javascript函数
2006/12/22 Javascript
js 自定义的联动下拉框
2010/02/07 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python素数检测的方法
2015/05/11 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
Python实现仿射密码的思路详解
2020/04/23 Python
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
食品营养与检测应届生求职信
2013/11/08 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
工会经费申请报告
2015/05/15 职场文书
电话营销开场白
2015/05/29 职场文书
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript