Rust
[Rust] 공유 상태 동시성 예제 (Shared State Concurrency, 43일차)
꾸압
2023. 1. 26. 09:11
<예제 코드_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>