1 import time
2 from threading import Thread,Lock
3
4
5 def func1(lock_A,lock_B):
6 lock_A.acquire()
7 print('张全蛋拿到了A锁')
8 time.sleep(0.5)
9 lock_B.acquire()
10 print('张全蛋拿到了B锁')
11 lock_B.release()
12 lock_A.release()
13
14
15 def func2(lock_A,lock_B):
16 lock_B.acquire()
17 print('赵二狗拿到了B锁')
18 lock_A.acquire()
19 print('赵二狗拿到了A锁')
20 lock_A.release()
21 lock_B.release()
22
23
24 if __name__ == '__main__':
25
26 lock_A = Lock()
27 lock_B = Lock()
28 t1 = Thread(target=func1,args=(lock_A,lock_B,))
29 t2 = Thread(target=func2,args=(lock_A,lock_B,))
30 t1.start()
31 t2.start()