self, test_items: Vec<GenomeFast>) {
let (tx, rx) = channel();
for item in test_items {
let tx1 = tx.clone();
thread::spawn(move || {
let job = RunJob { genome: item, elapsed: 0, is_test: true };
let mut res = self.run_function(job, true);
res.calc();
tx1.send(res).unwrap();
});
}
let rrr = rx.iter().collect::<Vec<RunJob>>();
}
получаю
158 | fn rank_population(&mut self, test_items: Vec<GenomeFast>) {
| --------- this data with an anonymous lifetime '_...
как заставить это работать??
Пользуйся rayon
он 'static хочет
https://docs.rs/rayon/1.5.0/rayon/iter/trait.ParallelIterator.html#method.for_each Вроде не хочет
Мне кажется, par_iter() + map() + collect() то что нужно
Обсуждают сегодня