Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::sync::{Arc, Mutex};
- use std::thread;
- fn main() {
- let data = Arc::new(Mutex::new(vec![1, 2, 3]));
- let mut handlers = vec![];
- for i in 0..3 {
- let data = data.clone();
- handlers.push(thread::spawn(move || {
- let mut data = data.lock().unwrap();
- data[0] += i;
- }));
- }
- for each in handlers {
- each.join().unwrap();
- }
- println!("{:?}", data);
- }
Add Comment
Please, Sign In to add comment