Rc与Arc #
一、Rc #
rust
use std::rc::Rc;
fn main() {
let a = Rc::new(5);
let b = Rc::clone(&a);
let c = Rc::clone(&a);
println!("引用计数: {}", Rc::strong_count(&a));
}
二、Arc #
Arc是线程安全的Rc:
rust
use std::sync::Arc;
use std::thread;
fn main() {
let data = Arc::new(vec![1, 2, 3]);
let data_clone = Arc::clone(&data);
thread::spawn(move || {
println!("{:?}", data_clone);
});
}
三、总结 #
本章学习了:
- Rc 引用计数
- Arc 线程安全引用计数
最后更新:2026-03-27