当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust RwLock.write用法及代码示例


本文简要介绍rust语言中 std::sync::RwLock.write 的用法。

用法

pub fn write(&self) -> LockResult<RwLockWriteGuard<'_, T>>

以独占写入访问锁定此 rwlock,阻塞当前线程,直到它可以被获取。

当其他写入者或其他读取者当前有权访问该锁时,此函数不会返回。

返回一个 RAII 守卫,它会在丢弃时丢弃此 rwlock 的写访问。

错误

如果RwLock中毒,该函数将返回错误。每当写入者在持有独占锁时发生Panics时,RwLock就会中毒。获取锁时会返回错误。

Panics

如果当前线程已持有锁,则调用此函数时可能会出现紧急情况。

例子

use std::sync::RwLock;

let lock = RwLock::new(1);

let mut n = lock.write().unwrap();
*n = 2;

assert!(lock.try_read().is_err());

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::sync::RwLock.write。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。