第二种写法(简略):重新写一个类,继承threading.Thread
先看一个简单的例子理解一下:
注意一点:**派生类中重写了父类threading.Thread的run()方法,其他方法(除了构造函数)都不应在子类中被重写,换句话说,在子类中只有_init_()和run()方法被重写。**使用线程的时候先生成一个子线程类的对象,然后对象调用start()方法就可以运行线程啦(start调用run)
Sample1
# /usr/bin/python
# -*- coding:utf-8 -*-
import threading
class Sample_zb(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global lock
global i
lock.acquire()
i += 1
print (i)
lock.release()
lock = threading.Lock()
i = 0
def main():
###########
#不能把i和lock写在这儿,涉及变量作用域问题
#i = 0
#lock = threading.Lock()
############################
num = 10
ThreadList = []
#以下是重点部分:使用threading.Thread类,调用cl