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启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
python利用hook技术破解https的实例代码
Mar 25 Python
python获取指定网页上所有超链接的方法
Apr 04 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
Python Queue模块详细介绍及实例
Dec 27 Python
解决python Markdown模块乱码的问题
Feb 14 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
python实现共轭梯度法
Jul 03 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
python 实现人和电脑猜拳的示例代码
Mar 02 Python
一劳永逸彻底解决pip install慢的办法
May 24 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
PHP 缓存实现代码及详细注释
2010/05/16 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
js获取对象为null的解决方法
2013/11/21 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
python解析模块(ConfigParser)使用方法
2013/12/10 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
python实现AES加密解密
2019/03/28 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
幼儿教师思想汇报
2014/01/10 职场文书
统计系教授推荐信
2014/02/28 职场文书
青蓝工程实施方案
2014/03/27 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
学校教师培训工作总结
2015/10/14 职场文书
javascript函数式编程基础
2021/09/15 Javascript
linux下安装redis图文详细步骤
2021/12/04 Redis