-
在Python中,通过继承类threading.Thread的方式来创建一个线程。这种方法只要重写类threading.Thread中的方法run(),然后再调用方法start()就能创建线程,并运行方法run()中的代码。
-
1 import threading 2 import time 3 def fun1(delay): 4 print('线程{0}开始运行fun1'.format(threading.current_thread().getName())) 5 time.sleep(delay) 6 print('线程{0}运行fun1结束'.format(threading.current_thread().getName())) 7 def fun2(delay): 8 print('线程{0}开始运行fun2'.format(threading.current_thread().getName())) 9 time.sleep(2) 10 print('线程{0}运行fun2结束'.format(threading.current_thread().getName())) 11 #创建线程类继承threading.Thread 12 class MyThread(threading.Thread): 13 #重写父类的构造方法,其中func是线程函数,args是传入线程的参数,name是线程名 14 def __init__(self,func,name,args): 15 super().__init__(target=func,name=name,args=args) 16 #重写父类的run()方法 17 def run(self): 18 self._target(*self._args) 19 20 if __name__=='__main__': 21 print('开始运行') 22 #创建线程 23 t1 = MyThread(fun1,'thread-1',(2,)) 24 t2 = MyThread(fun2,'thread-2',(4,)) 25 t1.start() 26 t2.start() 27 t1.join() 28 t2.join()
1 开始运行 2 线程thread-1开始运行fun1 3 线程thread-2开始运行fun2 4 线程thread-1运行fun1结束 5 线程thread-2运行fun2结束