互斥器

作者: 简书网abc | 来源:发表于2022-04-29 00:04 被阅读0次

    1,多个线程使用互斥器Arc

    use std::sync::{Mutex, Arc};
    use std::thread;
    
    fn main() {
        let counter = Arc::new(Mutex::new(0));
        let mut handles = vec![];
    
        for _ in 0..10 {
            let new_counter = Arc::clone(&counter);
            let handle = thread::spawn(move || {
                let mut mun = new_counter.lock().unwrap();
                *mun += 1;
            });
    
            handles.push(handle);
        }
    
        for handle in handles {
            handle.join().unwrap();
        }
        println!("result = {}", *counter.lock().unwrap())
    }
    

    相关文章

      网友评论

          本文标题:互斥器

          本文链接:https://www.haomeiwen.com/subject/dryjyrtx.html