Rc<T>
não é thread-safe, sendo necessário o uso de Arc<T>
em conjunto de algum mecanismo de sincronização, por exemplo Mutex<T>
. O próprio autor comenta ao final do post, inclusive.
Último parágrafo do "The Rust Programming Language", capítulo 15.4:
Note that Rc is only for use in single-threaded scenarios. When we discuss concurrency in Chapter 16, we’ll cover how to do reference counting in multithreaded programs.