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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。