如何用Rust避免多线程数据竞争,实现线程安全的不变性?