自定义线程类
线程执行代码的封装
使用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')