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之Import 模块
Oct 13 Python
python实现堆栈与队列的方法
Jan 15 Python
Python迭代器和生成器介绍
Mar 06 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
Python sql注入 过滤字符串的非法字符实例
Apr 03 Python
Python+PyQt5实现灭霸响指功能
May 25 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
python中如何打包用户自定义模块
Sep 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魔术函数__call()用法实例分析
2015/02/13 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
javascript运动详解
2015/07/06 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python函数的5种参数详解
2017/02/24 Python
详解K-means算法在Python中的实现
2017/12/05 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
Python3 replace()函数使用方法
2018/03/19 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
python实现代码统计程序
2019/09/19 Python
django序列化serializers过程解析
2019/12/14 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
暑期社会实践心得体会
2014/09/02 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
五年级下册复习计划
2015/01/19 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang