python 锁相关:什么是递归锁?

发布于 2022-09-21 08:52:55
关注者
0
被浏览
11
4 个回答
  • 匿名网友
    匿名网友 2022-09-21
    在 Python 中为了支持同一个线程中多次请求同一资源,Python 提供了可重入锁。这个 RLock 内部维护着一个 Lock 和一个 counter 变量,counter 记录了 acquire 的次数,从而使得资源可以被多次 require。直到一个线程所有的 acquire 都被 release,其他的线程才能获得资源。递归锁分为可递归锁与非递归锁。
  • 匿名网友
    匿名网友 2022-09-21
    假如线程使用了一个原始锁,但是逻辑比较复杂,抽离出了其他的函数,这个函数也要使用这个锁,看似没有问题,但是会造成在没有解锁的情况下再一次锁定,导致线程被阻塞。那这个时候递归锁的作用就出来了,可以在同一个线程中多次锁定,不会造成阻塞,但是锁定了几次就要释放几次。
  • 匿名网友
    匿名网友 2022-09-21
    简单一点就是加了一层的锁在下一层还可以被加锁,但是必须要有对应的释放锁
  • 匿名网友
    匿名网友 2022-09-21
    简单说:达到上限了,加个while和try吧
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看