Crate poolite [−] [src]
poolite
A lite threadpool library written for Rust.
Usage
On Cargo.toml:
[dependencies]
poolite = "0.7.1"
Documentation
- Visit Docs.rs
or
- Run
cargo doc --open
after modified the toml file.
Base usage
extern crate poolite; use poolite::Pool; fn main() { let pool = Pool::new().unwrap(); for i in 0..38 { pool.push(move || test(i)); } pool.join(); //wait for the pool } fn test(msg: i32) { println!("key: {}\tvalue: {}", msg, fib(msg)); } fn fib(msg: i32) -> i32 { match msg { 0...2 => 1, x => fib(x - 1) + fib(x - 2), } }
Scoped
Task
extern crate poolite; use poolite::Pool; fn main() { let pool = Pool::new().unwrap(); let mut array = (0..100usize).into_iter().map(|i| (i, 0)).collect::<Vec<_>>(); // scoped method will waiting scoped's task running finish. pool.scoped(|scope| for i in array.iter_mut() { // have to move scope.push(move|| i.1 = i.0*i.0); }); for (i, j) in array { println!("key: {}\tvalue: {}", i, j); } }
More Examples..
Structs
Builder |
|
Pool |
The |
PoolError |
The error type for the pool's |
Scoped |
|
Traits
Runable |
The |
Type Definitions
Task |
The Task Box |