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