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