一、将线程封装类
1、代码如下:
import threading
import time
class Sketch(threading.Thread):
def run(self):
for x in range(3):
print("%s他正在写生"% threading.current_thread())
time.sleep(1)
class Reader(threading.Thread):
def run(self):
for x in range(3):
print('%s他在读书'% threading.current_thread())
time.sleep(1)
def multi_thread():
th1 = Sketch()
th2 = Reader()
th1.start()
th2.start()
if __name__ == "__main__":
multi_thread()
二、知识点推荐
1、使用threading.current_thread()可以看到当前线程的信息。
2、使用threading.current_thread()函数便可以看到当前的信息。
三、锁机制
1 原则:
1、把尽量少的和不耗时的代码放到锁中执行。
2、代码执行完成后要记得释放锁。
2 代码如下:
import threading
value = 0
gLock = threading.Lock()
def add_value():
#如果函数中修改了全局变量,那么需要使用glock关键字进行申明
global value
gLock.acquire()
for x in range(1000000):
value += 1
gLock.release()
print("valued的值是:%d"%value)
def main():
for x in range(2):
th = threading.Thread(target=add_value)
th.start()
if __name__ == "__main__":
main()