0010-Rust-弱引用计数
环境
- Time 2022-05-04
- Rust 1.60.0
前言
说明
弱引用计数 Weak
可以在不计入所有权的情况下,增加一个引用,不保证值一定存在。
目标
弱引用计数 Weak
的方法练习,如果一个值只有弱引用,则会被回收。
new
fn main() {
let weak: Weak<i32> = Weak::new();
println!("{:?}", weak);
}
upgrade
fn main() {
let weak: Weak<i32> = Weak::new();
println!("{:?}", weak.upgrade());
let rc = Rc::new(44);
let weak = Rc::downgrade(&rc);
println!("{:?}", weak.upgrade());
}
strong_count
fn main() {
let rc = Rc::new(44);
let weak = Rc::downgrade(&rc);
println!("{:?}", weak.strong_count());
}
weak_count
fn main() {
let rc = Rc::new(44);
let weak = Rc::downgrade(&rc);
println!("{:?}", weak.weak_count());
}
总结
简单使用了弱引用计数 Weak
中的方法。