python的重入锁(简单说明)

    xiaoxiao2022-07-02  109

    python 重入锁

    重入锁就是可以多次获取的锁.(条件是在同一线程下) 对应的是threading.RLock。普通的锁是threading.Lock,这个锁在同一线程下 未释放的情况下再次获取会造成死锁,所以就需要RLock 如下: 普通情况下 会死锁

    import threading lock = threading.Lock() with lock: print "first get lock!" with lock: print "second get lock !" # 这种情况下只会输出 'first get lock!', # 并且程序在不强制中断的情况下始终阻塞在 第二次获取锁的位置

    怎么办?

    改成下面这种情况就可以了!

    import threading lock = threading.RLock() # ...
    最新回复(0)