use std::sync::{Arc}; use std::thread; fn main() { let counter = Arc::new(0); let mut handles = vec![]; for _ in 0..10 { let counter_clone = Arc::clone(&counter); let handle = thread::spawn(move || { let mut num = counter_clone.lock().unwrap(); *num += 1; handles.push(handle); for handle in handles { handle.join().unwrap(); println!(“Resultado final do contador: {}”, *counter.lock().unwrap()); Com base no trecho de código precedente, escrito em Rust, que cria um contador, julgue o item a seguir. A instrução let counter = Arc::new(0); combina exclusão mútua com contagem atômica de referência e garante acesso seguro e exclusivo a dados entre threads.
- C Certo
- E Errado