Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn mass_make_par_new(&self, data: &Data) -> Item {
- let mut pool = Pool::new(8);
- pool.scoped(|scope| {
- let mut counter = self.makers.len();
- let (tx, rx) = std::sync::mpsc::channel();
- for maker in self.makers.iter() {
- let tx = tx.clone();
- scope.execute(move || {
- let make_result = maker.make(data);
- tx.send(make_result).unwrap();
- });
- }
- let mut result = Item::zero();
- while counter != 0 {
- result = Item::compose(&result, &rx.recv().unwrap());
- counter -= 1;
- }
- result
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment