본문 바로가기
Rust

[Rust] 공유 상태 동시성 예제 (Shared State Concurrency, 43일차)

by 꾸압 2023. 1. 26.

 

<예제 코드_1>

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 counter = Arc::clone(&counter);
        let handle = thread::spawn(move || {
            let mut num = counter.lock().unwrap();

            *num += 1;
        });
        handles.push(handle);
    }

    for handle in handles {
        handle.join().unwrap();
    }

    println!("Result: {}", *counter.lock().unwrap());
}

 

 


 

<참조 1> https://rinthel.github.io/rust-lang-book-ko/ch16-03-shared-state.html

<참조 2>

 

 

댓글