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脚本来获取Google搜索结果的示例
May 04 Python
在Django中限制已登录用户的访问的方法
Jul 23 Python
Python中基础的socket编程实战攻略
Jun 01 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
python中栈的原理及实现方法示例
Nov 27 Python
python中如何进行连乘计算
May 28 Python
Django-celery-beat动态添加周期性任务实现过程解析
Nov 26 Python
详解pycharm自动import所需的库的操作方法
Nov 30 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
基于mysql的论坛(6)
2006/10/09 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
js更优雅的兼容
2010/08/12 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
Python中基础的socket编程实战攻略
2016/06/01 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
python为什么要安装到c盘
2020/07/20 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
人事行政专员岗位职责
2014/07/23 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python