| use std::collections::HashSet; | |
| use rayon::prelude::*; | |
| use rayon::*; | |
| #[test] | |
| fn named_threads() { | |
| ThreadPoolBuilder::new() | |
| .thread_name(|i| format!("hello-name-test-{}", i)) | |
| .build_global() | |
| .unwrap(); | |
| const N: usize = 10000; | |
| let thread_names = (0..N) | |
| .into_par_iter() | |
| .flat_map(|_| ::std::thread::current().name().map(str::to_owned)) | |
| .collect::<HashSet<String>>(); | |
| let all_contains_name = thread_names | |
| .iter() | |
| .all(|name| name.starts_with("hello-name-test-")); | |
| assert!(all_contains_name); | |
| } |