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 相关文章推荐
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
Python实现处理管道的方法
Jun 04 Python
详解Python中类的定义与使用
Apr 11 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
python实现排序算法解析
Sep 08 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
python numpy数组中的复制知识解析
Feb 03 Python
Python 读取位于包中的数据文件
Aug 07 Python
Python中Numpy和Matplotlib的基本使用指南
Nov 02 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面向对象之后期静态绑定功能介绍
2015/05/18 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP7 windows支持
2021/03/09 PHP
js onpropertychange输入框 事件获取属性
2009/03/26 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
全面了解js中的script标签
2016/07/04 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
研修第一天随笔感言
2014/02/15 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
置业顾问岗位职责
2015/02/09 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript