diff options
| author | liv <mokou@fastmail.com> | 2024-03-31 16:22:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-31 16:22:54 +0200 |
| commit | ca07abf3dc1d436514f3ceb97e6edda0526f14cf (patch) | |
| tree | d1201f3071c5a6094c99320f93cc953283da76f8 /exercises/20_threads | |
| parent | 4e598572280451c884ec34669711804034f01c82 (diff) | |
| parent | 842e341895690aa8d59aab42d6294994ef99d10f (diff) | |
Merge pull request #1929 from mo8it/threads2
threads2: simplify the exercise
Diffstat (limited to 'exercises/20_threads')
| -rw-r--r-- | exercises/20_threads/threads2.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/exercises/20_threads/threads2.rs b/exercises/20_threads/threads2.rs index 62dad80..60d6824 100644 --- a/exercises/20_threads/threads2.rs +++ b/exercises/20_threads/threads2.rs @@ -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: {}", ???); } |
