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


Rust PoisonError.into_inner用法及代碼示例

本文簡要介紹rust語言中 std::sync::PoisonError.into_inner 的用法。

用法

pub fn into_inner(self) -> T

使用此錯誤指示鎖已中毒,返回底層保護以允許訪問。

例子

use std::collections::HashSet;
use std::sync::{Arc, Mutex};
use std::thread;

let mutex = Arc::new(Mutex::new(HashSet::new()));

// poison the mutex
let c_mutex = Arc::clone(&mutex);
let _ = thread::spawn(move || {
    let mut data = c_mutex.lock().unwrap();
    data.insert(10);
    panic!();
}).join();

let p_err = mutex.lock().unwrap_err();
let data = p_err.into_inner();
println!("recovered {} items", data.len());

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::sync::PoisonError.into_inner。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。