rlock是可重入锁,你可以简单的理解它自带一个计数器,acquire则计数器+1,release则计数器-1.不可出现负值,否则会跑出异常。
为什么要这么做呢,因为应用场景不同,可重入锁可以调用另外一个需要该锁的方法,而不可重入锁是不能这么做的。
def fun1():
rlock.acquire()
fun2()
rlock.release()
def fun2():
rlock.acquire()
rlock.release()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…