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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
django实现前后台交互实例
Aug 07 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
一行python实现树形结构的方法
Aug 09 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
Python list与NumPy array 区分详解
Nov 06 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
python爬取招聘要求等信息实例
Nov 20 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制作图型计数器的例子
2006/10/09 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
Expandable "Detail" Table Rows
2007/08/29 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
vue 监听屏幕高度的实例
2018/09/05 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
python中子类继承父类的__init__方法实例
2016/12/15 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
python对常见数据类型的遍历解析
2019/08/27 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
python3实现简单飞机大战
2020/11/29 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
市级文明单位申报材料
2014/05/07 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
写给领导的感谢信
2015/01/22 职场文书
设置IIS Express并发数
2022/07/07 Servers