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实现获取序列中最小的几个元素
Sep 25 Python
python中__slots__用法实例
Jun 04 Python
python3实现跳一跳点击跳跃
Jan 08 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
tensorflow学习笔记之简单的神经网络训练和测试
Apr 15 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
python游戏地图最短路径求解
Jan 16 Python
详解python解压压缩包的五种方法
Jul 05 Python
Python+OpenCV实现图像的全景拼接
Mar 05 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
基于Python实现的购物商城管理系统
Apr 27 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
关于jquery css的使用介绍
2013/04/18 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python threading多线程编程实例
2014/09/18 Python
从0开始的Python学习016异常
2019/04/08 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Django如何批量创建Model
2020/09/01 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
详解HTML5表单新增属性
2016/12/21 HTML / CSS
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
自学考试自我鉴定范文
2013/09/26 职场文书
应聘自荐信
2013/12/14 职场文书
出生医学证明样本
2014/01/17 职场文书
国家助学金获奖感言
2014/01/31 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
vue 自定义组件添加原生事件
2022/04/21 Vue.js