What smart pointer is used to allow multiple ownership of a value in various threads?
Arc<T>
Box<T>
Both Arc<T> and Rc<T> are multithread safe.
Rc<T>
Rc<T> Rust book reference