#![allow(unused_variables)] fn main() { use std::sync::Arc; use std::sync::atomic::{AtomicUsize, Ordering}; use std::thread; let val = Arc::new(AtomicUsize::new(5)); for _ in 0..10 { let val = Arc::clone(&val); thread::spawn(move || { let v = val.fetch_add(1, Ordering::Relaxed); println!("{v:?}"); }); } }