| 123456789101112131415161718192021222324252627 |
- # -*- coding: utf-8 -*-
- import time
- import threading
- # 创建锁对象
- lock = threading.Lock()
- num = 0
-
- def run(n):
- global num
- for i in range(10):
- # 加锁 为了确保下面代码只能由一个线程从头到尾的执行
- # 会阻止多线程的并发执行,所以效率会大大降低
- with lock:
- time.sleep(2)
- print("start")
- num = num + 1
- print(f"======{n}========")
-
-
- if __name__ == '__main__':
- t1 = threading.Thread(target=run,args=(6,))
- t2 = threading.Thread(target=run,args=(9,))
- t1.start()
- t2.start()
- t1.join()
- t2.join()
- print("num = %s"%(num))
|