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抓taobao图片爬虫
Oct 26 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
对python3 urllib包与http包的使用详解
May 10 Python
python3爬取数据至mysql的方法
Jun 26 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
python实现超市商品销售管理系统
Nov 22 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
Python破解极验滑动验证码详细步骤
May 21 Python
教你怎么用python实现字符串转日期
May 24 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
PHP生成月历代码
2007/06/14 PHP
PHP 错误之引号中使用变量
2009/05/04 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
js实现搜索栏效果
2018/11/16 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
Flask框架各种常见装饰器示例
2018/07/17 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
J2EE面试题
2016/03/14 面试题
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
工程总经理工作职责
2013/12/09 职场文书
麦当劳辞职信范文
2014/01/18 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
Go语言怎么使用变长参数函数
2022/07/15 Golang