1 个不稳定版本
0.1.0 | 2022年1月3日 |
---|
#27 在 #ref
8KB
148 行
global-ref
概述
此crate用于通过静态变量在函数间共享引用。
由于实现内部将原始指针转换为usize并在线程间共享,获取引用本质上是不安全的。如果您使用此crate,请在使用之前请验证其安全性。
示例
use std::thread;
use global_ref::GlobalMut;
fn main() {
static GLOBAL: GlobalMut<i32> = GlobalMut::new();
let mut content = 0;
GLOBAL.with(&mut content, || {
fn add_one() {
*GLOBAL.get_mut() += 1;
}
let handle = thread::spawn(add_one);
handle.join().unwrap();
assert_eq!(*GLOBAL.get(), 1);
});
assert!(GLOBAL.try_get().is_none());
}
许可协议
MIT
依赖项
~50KB