當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。