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


Rust RwLock.try_write用法及代码示例


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

用法

pub fn try_write(&self) -> TryLockResult<RwLockWriteGuard<'_, T>>

尝试使用独占写入访问锁定此 rwlock。

如果此时无法获取锁,则返回Err。否则,将返回一个 RAII 守卫,当它被丢弃时将释放锁。

此函数不会阻塞。

对于有争议的读取器或写入器是否首先获取锁的顺序,此函数不提供任何保证。

错误

如果RwLock中毒,该函数将返回 Poisoned 错误。每当写入者在持有独占锁时发生Panics时,RwLock就会中毒。 Poisoned 仅在本来可以获取锁的情况下才会返回。

如果由于已独占锁定而无法获取RwLock,则该函数将返回 WouldBlock 错误。

例子

use std::sync::RwLock;

let lock = RwLock::new(1);

let n = lock.read().unwrap();
assert_eq!(*n, 1);

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

相关用法


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