Python并发编程—自定义线程类
自定义线程类
1.创建步骤
【1】 继承Thread类
【2】 重写__init__方法添加自己的属性,使用super加载父类属性
【3】 重写run方法
2.使用方法
【1】 实例化对象
【2】 调用start自动执行run方法
【3】 调用join回收线程
1 from threading import Thread 2 from time import sleep, ctime 3 4 5 class MyThread(Thread): 6 def __init__(self, target=None, 7 args=(), kwargs={}): 8 super().__init__() 9 self.target = target 10 self.args = args 11 self.kwargs = kwargs 12 13 def run(self): 14 self.target(*self.args, **self.kwargs) 15 16 # *************************** 17 # 通过完成上面的MyThread使程序正常运行 18 # 通过下面程序可以让player作为线程运行 19 # player只是测试函数,名称和参数均不确定 20 # *************************** 21 22 23 def player(sec, song): 24 for i in range(3): 25 print("Playing %s : %s" % (song, ctime())) 26 sleep(sec) 27 28 t = MyThread(target=player, args=(3,), 29 kwargs={'song': '凉凉'}) 30 t.start() 31 t.join() 32 33 # Playing 凉凉 : Wed Jun 26 20:07:58 2019 34 # Playing 凉凉 : Wed Jun 26 20:08:01 2019 35 # Playing 凉凉 : Wed Jun 26 20:08:04 2019 36 # 循环