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 相关文章推荐
pydev使用wxpython找不到路径的解决方法
Feb 10 Python
python自动化测试实例解析
Sep 28 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
Python实现合并字典的方法
Jul 07 Python
python浪漫表白源码
Apr 05 Python
Java文件与类动手动脑实例详解
Nov 10 Python
Python values()与itervalues()的用法详解
Nov 27 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
PyQt5的相对布局管理的实现
Aug 07 Python
python给list排序的简单方法
Dec 10 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中如何定义和使用常量
2013/02/28 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
js document.write()使用介绍
2014/02/21 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python 字典dict使用介绍
2014/11/30 Python
python中reduce()函数的使用方法示例
2017/09/29 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
公司JAVA开发面试题
2015/04/02 面试题
如何写一个自定义标签
2012/12/28 面试题
优秀的导游求职信范文
2014/04/06 职场文书
求职自我推荐信
2014/06/25 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
活着观后感
2015/06/03 职场文书
小学入学感言
2015/08/01 职场文书
推广普通话主题班会
2015/08/17 职场文书
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js