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使用三角迭代计算圆周率PI的方法
Mar 20 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
python自动zip压缩目录的方法
Jun 28 Python
在Python中使用正则表达式的方法
Aug 13 Python
Python3学习urllib的使用方法示例
Nov 29 Python
python实现日常记账本小程序
Mar 10 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
Python接口开发实现步骤详解
Apr 26 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 Python
Python装饰器结合递归原理解析
Jul 02 Python
Python3.9新特性详解
Oct 10 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插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
jquery实现表单验证简单实例演示
2015/11/23 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
python包的导入方式总结
2021/03/02 Python
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
教育系毕业生中文求职信范文
2013/10/06 职场文书
音乐学专业求职信
2014/07/22 职场文书
小浪底导游词
2015/02/12 职场文书
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python