python类方法继承其他函数变量_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()

4dfc1cfaa1157ed1755963032ed45f05.png

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

f3bf492e130f88a12ea7324f610c03d5.png

三、源码

d24_3_other_multi_thread_attribute.py

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值