本文简要介绍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 PoisonError用法及代码示例
- Rust Pointer用法及代码示例
- Rust Poll.map用法及代码示例
- Rust Poll.map_ok用法及代码示例
- Rust Poll.is_ready用法及代码示例
- Rust Poll.ready用法及代码示例
- Rust Poll.is_pending用法及代码示例
- Rust Poll.map_err用法及代码示例
- Rust PanicInfo.payload用法及代码示例
- Rust Path.components用法及代码示例
- Rust PathBuf.with_capacity用法及代码示例
- Rust Peekable.peek用法及代码示例
- Rust Path.is_symlink用法及代码示例
- Rust Path.canonicalize用法及代码示例
- Rust PartialOrd.partial_cmp用法及代码示例
- Rust Path.is_relative用法及代码示例
- Rust Path.file_stem用法及代码示例
- Rust PermissionsExt.set_mode用法及代码示例
- Rust Path.to_string_lossy用法及代码示例
- Rust Path.display用法及代码示例
- Rust PathBuf.into_os_string用法及代码示例
- Rust Peekable.next_if用法及代码示例
- Rust PanicInfo用法及代码示例
- Rust PathBuf.pop用法及代码示例
- Rust Path.ancestors用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::sync::PoisonError.into_inner。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。