什么是Arc
Arc 是atomic Rc的缩写,原子化的Rc智能指针
为什么需要Arc
Arc是有着原子性的操作的Rc
保证原子性就需要一定的性能消耗
Arc跟Rc拥有完全一样的API
Arc保证原子性
Rc 和 Arc 的区别在于,后者是原子化实现的引用计数,因此是线程安全的,可以用于多线程中共享数据。
use std::sync::Arc;use std::thread;fn main(){let s =Arc::new(String::from("多线程漫游者"));for _ in 0..10{let s = Arc::clone(&s);let handle=thread::spawn(move ||{println!("{}",s)});}}
