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 # 循环
自定义线程类练习

 

posted @ 2019-06-07 21:18  maplethefox  阅读(1210)  评论(0编辑  收藏  举报