Python 多线程其他属性以及继承Thread类详解

 更新时间:2019年08月28日 09:35:57   作者:心悦君兮君不知-睿  
这篇文章主要介绍了Python 多线程其他属性以及继承Thread类详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、线程常用属性

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()

二、直接继承子类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()

三、源码

d24_3_other_multi_thread_attribute.py

https://github.com/ruigege66/Python_learning/blob/master/d24_3_other_multi_thread_attribute.py

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现绘制3D地球旋转效果

    Python实现绘制3D地球旋转效果

    这篇文章主要为大家详细介绍了如何利用Python实现绘制出3D地球旋转的效果,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2023-02-02
  • python如何实现word批量转HTML

    python如何实现word批量转HTML

    这篇文章主要介绍了python如何实现word批量转HTML,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • tensorflow 环境变量设置方式

    tensorflow 环境变量设置方式

    今天小编就为大家分享一篇tensorflow 环境变量设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 朴素贝叶斯分类算法原理与Python实现与使用方法案例

    朴素贝叶斯分类算法原理与Python实现与使用方法案例

    这篇文章主要介绍了朴素贝叶斯分类算法原理与Python实现与使用方法,结合具体实例形式分析了朴素贝叶斯分类算法的概念、原理、实现流程与相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Python IDLE入门简介

    Python IDLE入门简介

    这篇文章主要介绍了Python IDLE入门简介,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • Python+Turtle制作海龟迷宫小游戏

    Python+Turtle制作海龟迷宫小游戏

    这篇文章主要是带大家写一个利用Turtle库制作的一款海龟闯关的三大迷宫,文中的示例代码讲解详细,对我们学习Python有一定帮助,感兴趣的可以了解一下
    2022-04-04
  • pandas如何将表中的字符串转成数值型

    pandas如何将表中的字符串转成数值型

    在用pd.read_csv读数据时,将要转换数据类型的列名和类型名构成字典,传给dtype,怎么转换呢,下面小编给大家分享下pandas将表中的字符串转成数值型,感兴趣的朋友一起看看吧
    2023-02-02
  • 使用Python对微信好友进行数据分析

    使用Python对微信好友进行数据分析

    这篇文章主要介绍了使用Python对微信好友进行数据分析的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Python中等待5秒并暂停执行的方法总结

    Python中等待5秒并暂停执行的方法总结

    Python 具有各种功能和库来创建交互式应用程序,用户可以在其中提供输入和响应, 我们可以创建需要暂停应用程序执行的情况,本文主要和大家分享三个Python 中等待 5 秒并暂停执行的方法,有需要的可以参考下
    2023-10-10
  • python操作excel的方法(xlsxwriter包的使用)

    python操作excel的方法(xlsxwriter包的使用)

    这篇文章主要为大家详细介绍了python操作excel的方法,xlsxwriter包的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论