scope/scope.rs
1extern crate poolite;
2use poolite::Pool;
3
4/// `cargo run --example without`
5fn main() {
6 let pool = Pool::new().unwrap();
7 let mut array = (0..38).into_iter().map(|i| (i, 0)).collect::<Vec<_>>();
8
9 pool.scoped(|scope| for i in array.iter_mut() {
10 scope.push(move|| i.1 = fib(i.0));
11 });
12 for (i, j) in array {
13 println!("key: {}\tvalue: {}", i, j);
14 }
15}
16
17fn fib(msg: i32) -> i32 {
18 match msg {
19 0...2 => 1,
20 x => fib(x - 1) + fib(x - 2),
21 }
22}