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内建函数之raw_input()与input()代码解析
Oct 26 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
python 将md5转为16字节的方法
May 29 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
Mar 30 Python
python实现贪吃蛇双人大战
Apr 18 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
python中sys模块的介绍与实例
Apr 17 Python
Python利用folium实现地图可视化
May 23 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/11/20 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
javascript数组的使用
2013/03/28 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
express 项目分层实践详解
2018/12/10 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
pycharm 解除默认unittest模式的方法
2018/11/30 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
机关单位人员学雷锋心得体会
2014/03/10 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
2016年春节慰问信息
2015/03/25 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
解决golang在import自己的包报错的问题
2021/04/29 Golang