static mut COUNTER: u32 = 0; /// SAFETY: 同时在多个线程调用这个方法是未定义的行为,所以你*必须*保证同一时间只 /// 有一个线程在调用它。 unsafe fn add_to_count(inc: u32) { unsafe { COUNTER += inc; } } fn main() { unsafe { // SAFETY: 它只在 `main` 这一个线程被调用。 add_to_count(3); println!("COUNTER: {}", *(&raw const COUNTER)); } }