Lesson 37 of 50 · rust
Mutexes and Shared State
Duration: 20 minutes
Lesson 37 of 50 · rust
Duration: 20 minutes
Arc<Mutex<T>> lets multiple threads share mutable data safely.\n\nrust\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nfn main() {\n let counter = Arc::new(Mutex::new(0));\n let mut handles = vec![];\n for _ in 0..5 {\n let ctr = Arc::clone(&counter);\n let handle = thread::spawn(move || {\n let mut num = ctr.lock().unwrap();\n *num += 1;\n });\n handles.push(handle);\n }\n for h in handles { h.join().unwrap(); }\n println!(\"Final count: {}\", *counter.lock().unwrap());\n}\n\n