Python 多线程其他属性以及继承Thread类详解


Posted in Python onAugust 28, 2019

一、线程常用属性

1.threading.currentThread:返回当前线程变量

2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指的是线程启动后,结束前的状态

3.threading.activeCount:返回正在运行的线程数量,效果跟len(threading.enumer)一样

4.thr.setName:给线程设置名字

5.thr.getName:得到线程的名字。

举例:

mport _thread as thread
import time
def loop1(in1):
  print("Start loop 1 at:", time.ctime())
print("我是参数", in1)
time.sleep(4)
print("End loop 1 at:", time.ctime())
​
def loop2(in1, in2):
  print("Start loop 2 at:", time.ctime())
print("我是参数", in1, "和参数 ", in2)
time.sleep(4)
print("End loop 2 at:", time.ctime())
​
import threading
def main1():
  print("Starting at:", time.ctime())
t1 = threading.Thread(target = loop1, args = ('', ))
t1.setName("THR_1")# 给线程重命名
t1.start()
​
t2 = threading.Thread(target = loop2, args = ('', ''))
t2.setName("THR_2")
t2.setDaemon(True)# 主线程运行完了就完了, 不用等线程2
t2.start()
​
time.sleep(3)# 三秒后两个子线程仍然在运行着, 因为他们里面有一个四秒在停着
for thr in threading.enumerate(): #返回的是正在运行的子线程的列表
print("正在运行的子线程名为:{0}".format(thr.getName()))# 读取了该线程的名字
​
print("正在运行的子线程数量为:{0}".format(threading.activeCount()))# 打印出了线程的数量, 包括主线程和两个子线程一共3个线程
t1.join()# 等线程1运行完了再接着向下运行
print("ALL done at :", time.ctime())
​
if __name__ == "__main__":
  main1()

Python 多线程其他属性以及继承Thread类详解 

二、直接继承子类threading.Thread

1.直接继承Thread;重写run函数

​2.例子:

class MyThread(threading.Thread): #定义一个Thread的子类
def __init__(self, args): #重写__init__函数, 其中参数为self和新引入的参数
super(MyThread, self).__init__()# 固定格式, 继承父类的__init__函数
self.args = args
​
def run(self):
  time.sleep(1)
print("The args for this class is {0}".format(self.args))
​
for i in range(5):
  t = MyThread(i)
t.start()
t.join()

Python 多线程其他属性以及继承Thread类详解

三、源码

d24_3_other_multi_thread_attribute.py

https://github.com/ruigege66/Python_learning/blob/master/d24_3_other_multi_thread_attribute.py​

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python continue语句用法实例
Mar 11 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python实现的直接插入排序算法示例
Apr 29 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
Django框架实现逆向解析url的方法
Jul 04 Python
Python如何实现转换URL详解
Jul 02 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
详解python内置模块urllib
Sep 09 Python
python 如何用terminal输入参数
May 25 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 #Python
Python 共享变量加锁、释放详解
Aug 28 #Python
Python使用百度api做人脸对比的方法
Aug 28 #Python
linux下python中文乱码解决方案详解
Aug 28 #Python
Kears+Opencv实现简单人脸识别
Aug 28 #Python
解决python 文本过滤和清理问题
Aug 28 #Python
解决Python对齐文本字符串问题
Aug 28 #Python
You might like
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
检查php文件中是否含有bom的函数
2012/05/31 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
微信小程序实现搜索功能
2020/03/10 Javascript
跟老齐学Python之Python文档
2014/10/10 Python
Python 中的with关键字使用详解
2016/09/11 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
python基础教程项目二之画幅好画
2018/04/02 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
合同专员岗位职责
2013/12/18 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis