一个类型可以是Send,如果它可以从一个线程移动到另一个线程,安全地移动到另一个线程(根据锈蚀手册)。我理解Rc所做的非原子增量/递减,但在下面的示例中,我不理解这将如何使其不安全:
use std::rc::Rc;
use std::{thread};
fn main() {
// x1 initialized - count = 1
let x1 = Rc::new(5);
// x1 cloned - count = 2. No other threads exist to cause issues due to non-atomic increment