当前位置: 首页 > 网络应用技术

Python多线程编程锁

时间:2023-03-07 03:07:17 网络应用技术

  RLOCK递归锁是同步锁的升级版本。根据同步锁,可以反复反复反复访问()。保持在递归锁内。当计数器不是0时,不能通过I/O操作和时间查询机制切换。

  递归锁相关的方法如下:

  threading.rlock()返回递归锁定对象螺纹。rlock()。获取(blocking = true,timeout = 1)锁定,当锁定代码块执行线程时,将不允许切换到其他线程,默认故障时间为1秒hende.rlock()。Release()已解锁。当无锁定代码块执行线程时,系统将允许系统切换到螺纹。rlock()。locked()确定锁定对象是否处于锁定状态,并在下面返回布尔值是递归锁的情况。

  结果:

  可以看到。导致同步锁中死锁的代码可以正常在递归锁下执行。

  像同步锁一样,threading.rlock()对象也实现了*enter*()和exit **()方法,因此我们还可以使用withte语句执行上下文管理锁的递归锁,例如同步锁,例如同步锁。

  示例如下:

  结果: