递归锁(RLock)

2021/7/2 6:23:10

本文主要是介绍递归锁(RLock),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

递归锁(RLock)

  • 递归锁可以开启多个锁(开启几个就要关闭几个),经常用于解决死锁现象

    • 将多个锁,改成同时使用一把递归锁
  • 缺点:效率没有互斥锁高

  • 代码

    from threading import Thread,RLock
    
    a=0
    def son1(rlock):
        with rlock:
            for i in range(100):
                global a
                a+=1
    def son2(rlock):
        with rlock:
            global a
            for i in range(100):
                    a-=1
    
    rlock=RLock()
    
    ret=Thread(target=son1,args=(rlock,)).start()
    ret1=Thread(target=son2,args=(rlock,)).start()
    
    print(a)
    


这篇关于递归锁(RLock)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程