python 线程锁

Posted 乘风去破浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 线程锁相关的知识,希望对你有一定的参考价值。

 1 """
 2 线程锁
 3 我这用的是python3.7,必须要加锁才可以保证数据的确定性
 4 """
 5 import time
 6 from threading import Thread, Lock
 7 
 8 lock = Lock()
 9 
10 list1 = [0] * 10
11 
12 
13 def task1():
14     lock.acquire()  # 获取锁
15     for i in range(len(list1)):
16         list1[i] = 1
17         print("设置list1")
18         time.sleep(0.5)
19     lock.release()  # 释放锁
20 
21 
22 def task2():
23     lock.acquire()  # 获取锁
24     for i in range(len(list1)):
25         print("list1[i] =", list1[i])
26         time.sleep(0.5)
27     lock.release()  # 释放锁
28 
29 
30 if __name__ == __main__:
31     t1 = Thread(target=task1, name="task1")
32     t2 = Thread(target=task2, name="task2")
33     t1.start()
34     t2.start()
35 
36     print("over")

 

以上是关于python 线程锁的主要内容,如果未能解决你的问题,请参考以下文章

为啥基于锁的程序不能组成正确的线程安全片段?

python多线程

并发技术12线程锁技术的使用

java并发线程锁技术的使用

互斥锁 & 共享锁

线程方法区别