Crate task_queue [−] [src]
Task queue The implementation of the thread pool for Rust Library supports dynamic control over the number of threads For implement it you should use SpawnPolicy trait
For example it StaticSpawnPolicy implementation: ``` rust pub struct StaticSpawnPolicy;
impl SpawnPolicy for StaticSpawnPolicy { fn get_count(&self, queue: &TaskQueue) -> usize { queue.max_threads } } ```
Examples
extern crate task_queue; use std::sync::{ Arc, Mutex }; let data = Arc::new(Mutex::new(0)); let mut queue = task_queue::TaskQueue::new(); for _ in 0..1000 { let clone = data.clone(); queue.enqueue(move || { let mut guard = clone.lock().unwrap(); *guard += 1; }).unwrap(); } let not_executed_tasks = queue.stop().unwrap(); for t in ¬_executed_tasks { t.run(); }
Modules
error | |
spawn_policy |
Structs
Task | |
TaskQueue |