线程 2.自定义线程类

自定义线程类

线程执行代码的封装
    使用threading模块可以完成多任务的程序开发,为了让线程的封装性更完美,所以使用threading模块时,通常会自定义一个新的子类
        1.自定义线程类,继承threading.Thread
        2.在自定义类中重写父类run()方法
        3.实例化自定义类对象并启动自定义线程

run()
    python中threading.Thread类有一个run()方法,用于定义线程的功能函数,可以在自定义的线程类中覆盖该方法
    创建自己的线程实例后,通过Thread类的start()方法,可以启动该线程,交给python虚拟机进行调度
    当该线程获得执行机会时,就会调用run()方法执行线程

原理:
    1.start()是子类继承父类得到的
    2.start()中调用了run()

class Thread():
    def start()
        self.run()

    def run()
        pass

import threading
import time

# 自定义线程类
class MyThread(threading.Thread):
    def __init__(self,num):
        # 调用父类初始化后,才能进行子类初始化
        super().__init__()
        self.num = num

    def run(self):
        for i in range(5):
            print('正在执行子线程的run方法',i,self.name,self.num)
            time.sleep(0.5)

if __name__ == '__main__':
    mythread = MyThread(10)
    mythread.start()
    print('xxxx')
上一篇:python 线程与进程简介


下一篇:threading.local