blob: d2e2936e0375a6764b68818916521cede4fc12d7 [file] [log] [blame]
// Fearless Concurrency
#![allow(dead_code)]
#![allow(unused_imports)]
use rust_tutorial::*;
use std::sync::{Mutex, Arc};
use std::thread;
fn main() {
let counter = Arc::new(Mutex::new(0));
let mut workers = vec![];
for _ in 0..10 {
let counter = Arc::clone(&counter);
let worker = thread::spawn(move || {
let mut num = counter.lock().unwrap();
*num += 1;
});
workers.push(worker);
}
for worker in workers {
worker.join().unwrap();
}
println!("Result: {}", *counter.lock().unwrap());
}