RLock VS Lock

RLock VS Lock

RLock锁定的时候别的线程也不能执行,得在当前线程执行完毕后再执行,那RLock可以对当前线程锁多次有何意义

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手乔木 2019-08-06 11:35:52

同学你好:

给线程上锁后会影响线程的执行效率,但是保证了线程执行的安全性。RLock主要是为了防止死锁的状态,老师的使用RLock对线程多次上锁就是为了让同学认识到使用RLock是解决了死锁的问题,没有其他的意义。

如果我解决了同学的问题,请采纳!学习愉快^_^。

  • 老师,rlock是一个特定的锁吗,还是说就是可以随便命名想变量一样。 还有,为什么使用rlock不会死锁而使用lock会死锁呢,这两者有什么区别和用处吗?
    2020-02-19 11:31:53
  • 同学,你好。在调用时(threading.RLock())可以随便赋值给任意变量。Lock和Rlock是两种不同的锁。使用Lock时:一次只能添加一个锁,添加两次锁,会产生死锁,只有被释放之才会能再次加锁。RLock:多重锁,已经获得该锁的线程可以继续多次获得该锁,在同一线程中可以被多次acquire。如果使用RLock,那么acquire和release必须成对出现,调用了n次acquire锁请求,则必须调用n次的release才能在线程中释放锁对象。直到一个线程所有的acquire都被release,其他的线程才能获得资源。祝学习愉快~~~~
    2020-02-19 19:22:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师