Guest User

Untitled

a guest
May 31st, 2016
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 0.61 KB | None | 0 0
  1. fn mass_make_par_new(&self, data: &Data) -> Item {
  2.     let mut pool = Pool::new(8);
  3.     let (tx, rx) = std::sync::mpsc::channel();
  4.     let mut counter = self.makers.len();
  5.     pool.scoped(|scope| {
  6.         for maker in self.makers.iter() {
  7.             let tx = tx.clone();
  8.             scope.execute(move || {
  9.                 let make_result = maker.make(data);
  10.                 tx.send(make_result).unwrap();
  11.             });
  12.         }
  13.     });
  14.     let mut result = Item::zero();
  15.     while counter != 0 {
  16.         result = Item::compose(&result, &rx.recv().unwrap());
  17.         counter -= 1;
  18.     }
  19.     result
  20. }
Advertisement
Add Comment
Please, Sign In to add comment