1.锁原理
锁的底层是一个内存,如何来理解这个一块内存呢,假定变量a是一把锁,在线程进行获取锁的时候会判断改变量是否满足某一个值,如果是一个boolean,当a是true时线程能够获得锁,如果a是false代表这把锁被其他线程使用,线程会持续等待锁被释放,使用python实现
import threading
class A:
v = 1
lock = True
def a():
while True:
if A.lock == True:
lock = False
for i in range(100000):
A.v += 1
lock = True
break
def b():
while True:
if A.lock ==True:
lock = False
for i in range(100000):
A.v+=1
lock = True
break
if __name__ == '__main__':
thread1 = threading.Thread(target=a)
thread2 = threading.Thread(target=b)
thread1.start()
thread2.start()
print(A.v)
A.lock就是一把锁