Rust 的 Arc<Mutex<T>> 用法

📅 2026/6/27 7:43:28
Rust 的 Arc<Mutex<T>> 用法
1 含义ArcMutexT 让T可以在多线程中被修改。ArcAtomic Reference Counting原子引用计数允许多个线程共享同一份数据的所有权类似Rc但线程安全。Mutex互斥锁保证同一时刻只有一个线程能访问内部数据避免数据竞争。2 使用use std::sync::Arc; use tokio::sync::Mutex; //自定义一个Student类型 struct Student{ name:String, age:u32 }; let data:T Arc::new(Mutex::new( Student{ name:String::from(nick), age: 17 } )); // 类型 ArcMutexT //参数传递时使用克隆 function_a(data.clone()) //函数参数声明 async fun function_a(d:ArcMutexT){ //使用时获得锁 let mut safe_d d.lock().unwrap(); //修改变量 safe_d.age 100; //或直接修改整体 *safe_d temp_d; }