继承threading.Threa

照着视频教程里的代码敲出来,按照教程里重写run()后 self._target(*self._args)标黄,运行一直报错,请问是什么原因,有什么方法可以解决

fun1() missing 1 required positional argument: 'delay'
    self._target(*self._args)
TypeError: fun2() missing 1 required positional argument: 'delay'

import threading
import time

def fun1(thread_name,delay):
    print('线程{}执行fun1'.format(thread_name))
    time.sleep(delay)
    print('线程{}执行结束'.format(thread_name))

def fun2(thread_name,delay):
    print('线程{}执行fun2'.format(thread_name))
    time.sleep(delay)
    print('线程{}执行结束'.format(thread_name))

#创建一个类MyThread,继承threading.Thread
class MyThread(threading.Thread):
    #重新构造方法
    def __init__(self,func,name,args):
        super(MyThread,self).__init__(target=func,name=name,args=args)
    #重写run方法
    def run(self):
        self._target(*self._args)
if __name__=='__main__':
    print('开始执行')
    t1=MyThread(fun1,'thread-1',(2,))
    t2=MyThread(fun2,'thread-2',(4,))
    t1.start()
    t2.start()

t1=MyThread(fun1,'thread-1',(2,1))
t2=MyThread(fun2,'thread-2',(4,1))

括号里少传个参数,delay,这个参数用来模拟函数fun1和fun2的运行时间,单位是秒