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 相关文章推荐
使用PDB简单调试Python程序简明指南
Apr 25 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 Python
django 删除数据库表后重新同步的方法
May 27 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
Python实现对特定列表进行从小到大排序操作示例
Feb 11 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
Python yield的用法实例分析
Mar 06 Python
python 的topk算法实例
Apr 02 Python
Django如何使用redis作为缓存
May 21 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
Django实现随机图形验证码的示例
Oct 15 Python
基于Python实现一个春节倒计时脚本
Jan 22 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/02 无线电
PHP+ajax分页实例简析
2015/12/07 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js读写json文件实例代码
2014/10/21 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
python编程嵌套函数实例代码
2018/02/11 Python
python实现简单日期工具类
2019/04/24 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
XML文档面试题
2015/08/05 面试题
简历的自荐信
2013/12/19 职场文书
物业门卫岗位职责
2013/12/28 职场文书
自主实习接收函
2014/01/13 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
家电创业计划书
2019/08/05 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript