builder/builder.rs
1extern crate poolite;
2use poolite::Builder;
3
4/// `cargo run --example without`
5fn main() {
6 let pool = Builder::new()
7 .min(1)
8 .max(9)
9 .daemon(None) // Close
10 .timeout(None) //Close
11 .name("Worker")
12 .stack_size(1024*1024*2) //2Mib
13 .build()
14 .unwrap();
15
16 for i in 0..38 {
17 pool.push(move || test(i));
18 }
19
20 pool.join(); //wait for the pool
21 println!("{:?}", pool);
22}
23
24fn test(msg: i32) {
25 println!("key: {}\tvalue: {}", msg, fib(msg));
26}
27
28fn fib(msg: i32) -> i32 {
29 match msg {
30 0...2 => 1,
31 x => fib(x - 1) + fib(x - 2),
32 }
33}