use std::thread; use happylock::{Mutex, ThreadKey}; const N: usize = 10; static DATA: Mutex = Mutex::new(0); fn main() { for _ in 0..N { thread::spawn(move || { let key = ThreadKey::lock().unwrap(); let mut data = DATA.lock(key); *data += 1; }); } let key = ThreadKey::lock().unwrap(); let data = DATA.lock(key); println!("{}", *data); }