Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- a/rust/q_sequence/src/main.rs
- +++ b/rust/q_sequence/src/main.rs
- @@ -11,7 +11,7 @@
- }
- }
- -fn q(mapping: &mut Arc<RwLock<HashMap<i32, Arc<RwLock<i32>>>>>, key: i32) -> i32 {
- +fn q(mapping: Arc<RwLock<HashMap<i32, Arc<RwLock<i32>>>>>, key: i32) -> i32 {
- println!("Running for {:?}", key);
- {
- match mapping.read().unwrap().get(&key) {
- @@ -33,9 +33,9 @@
- println!("Inserted for {:?}", key);
- }
- {
- - let mut _mapping = mapping.clone();
- + let _mapping = mapping.clone();
- thread::spawn(move || {
- - q(&mut _mapping, key - 1);
- + q(_mapping, key - 1);
- });
- }
- {
- @@ -53,7 +53,7 @@
- let mut mapping = HashMap::new();
- mapping.insert(1, Arc::new(RwLock::new(1)));
- mapping.insert(2, Arc::new(RwLock::new(1)));
- - let mut mapping = Arc::new(RwLock::new(mapping));
- - println!("{:?}", q(&mut mapping, 10));
- - println!("{:?}", q(&mut mapping, 10));
- + let mapping = Arc::new(RwLock::new(mapping));
- + println!("{:?}", q(mapping.clone(), 10));
- + println!("{:?}", q(mapping.clone(), 10));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement