summaryrefslogtreecommitdiff
path: root/examples/list.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/list.rs')
-rw-r--r--examples/list.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/examples/list.rs b/examples/list.rs
index 1f811db..3903260 100644
--- a/examples/list.rs
+++ b/examples/list.rs
@@ -26,8 +26,9 @@ fn random(key: &mut ThreadKey) -> usize {
}
fn main() {
+ let mut threads = Vec::new();
for _ in 0..N {
- thread::spawn(move || {
+ let th = thread::spawn(move || {
let mut key = ThreadKey::lock().unwrap();
let mut data = Vec::new();
for _ in 0..3 {
@@ -40,6 +41,11 @@ fn main() {
*guard[1] += *guard[2];
*guard[2] += *guard[0];
});
+ threads.push(th);
+ }
+
+ for th in threads {
+ _ = th.join();
}
let mut key = ThreadKey::lock().unwrap();