0

Rlock当我需要使用而不是简单时,谁能给我代码示例当lock 我需要 Rlock 时我无法找到用例

我已阅读此内容,但无法实际使用它

Normal Lock 对象不能被多次获取,即使是同一个线程。如果同一调用链中的多个函数访问锁,这可能会带来不良的副作用。

4

1 回答 1

0

对于粗粒度锁来说,这主要是一个问题(你在持有锁的同时做了很多工作)。如果线程多次尝试获取锁,它将挂起。随着系统变得复杂并且许多功能获得锁,风险也会增加。假设函数 f1, f2, ... fn 都获得了锁。如果 f1 调用 f2,它将挂起。如果 f1 调用了其他函数并且该函数调用了 f2,它将挂起。你最终实现了两组函数——获得锁的函数和实现功能的函数。“outies”和“innies”。RLocks 让您对此更加放松。

于 2013-03-02T06:06:56.633 回答