threads2: simplify threads2

This commit is contained in:
mo8it
2024-03-27 21:24:36 +01:00
parent 58b03af587
commit 842e341895
2 changed files with 13 additions and 18 deletions

View File

@@ -18,7 +18,9 @@ struct JobStatus {
}
fn main() {
// TODO: `Arc` isn't enough if you want a **mutable** shared state
let status = Arc::new(JobStatus { jobs_completed: 0 });
let mut handles = vec![];
for _ in 0..10 {
let status_shared = Arc::clone(&status);
@@ -29,11 +31,12 @@ fn main() {
});
handles.push(handle);
}
// Waiting for all jobs to complete
for handle in handles {
handle.join().unwrap();
// TODO: Print the value of the JobStatus.jobs_completed. Did you notice
// anything interesting in the output? Do you have to 'join' on all the
// handles?
println!("jobs completed {}", ???);
}
// TODO: Print the value of `JobStatus.jobs_completed`
println!("Jobs completed: {}", ???);
}