rust - 如何在不丢弃锁的情况下解锁 rwlock
问题描述
如何解锁rwlock?我不能放下锁,因为我需要它超过 1 次。我有一些这样的代码:
struct Abc {
lock: RwLock<()>,
data: usize,
}
let a = Abc {
RwLock::new(()),
data: 0,
};
a.lock.read().unwrap();
// do something with data
// now i need to unlock a.lock so others threads can use it
解决方案
正如@Michael Anderson 所说,当防护装置被放下时,RwLock 被解锁,而不是 RwLock 本身。
推荐阅读
- c - C 计算错误的距离
- javascript - 打字稿返回值或咖喱函数
- terraform - Terraform azurerm_application_gateway 配置容量自动缩放设置
- javascript - React - 未处理的拒绝(TypeError):_this4.getNotes 不是函数
- r - 在 r 中按月绘制箱线图,删除 RA
- dart - Dart 中的“< >”是什么意思?
- python - 在 Django 模板中打印带有动态索引和列的 Pandas 数据框
- python - 通过 zip 循环遍历 DataFrame
- android - 这是什么意思 toString function toString() { [native code] }
- java - 如何让 JooQ 联合两个具有相同列和数据类型的不同表?