7 个版本
使用旧的 Rust 2015
0.0.7 | 2017 年 7 月 8 日 |
---|---|
0.0.6 | 2016 年 7 月 9 日 |
0.0.5 | 2016 年 6 月 5 日 |
0.0.4 | 2016 年 5 月 10 日 |
0.0.3 | 2016 年 2 月 17 日 |
#1166 在 并发 中
每月 21 次下载
30KB
708 行
task_queue
Rust 的线程池实现。
库支持对线程数量的动态控制。为了实现它,您应该使用 SpawnPolicy trait。
用法
将此添加到您的 Cargo.toml
[dependencies]
task_queue = "0.0.7"
并将此添加到您的 crate 根目录
extern crate task_queue;
示例
extern crate task_queue;
let mut queue = task_queue::TaskQueue::new();
for _ in 0..10 {
queue.enqueue(|| {
println!("Hi from pool")
}).unwrap();
}
queue.stop_wait();
lib.rs
:
任务队列是 Rust 的线程池实现。
示例
extern crate task_queue;
let mut queue = task_queue::TaskQueue::new();
for _ in 0..10 {
queue.enqueue(|| {
println!("Hi from pool")
}).unwrap();
}
库支持对线程数量的动态控制。为了实现它,您应该使用 SpawnPolicy trait。
例如 StaticSpawnPolicy 实现
示例
use task_queue::TaskQueueStats;
use task_queue::spawn_policy::SpawnPolicy;
pub struct StaticSpawnPolicy;
impl SpawnPolicy for StaticSpawnPolicy {
fn get_count(&mut self, stats: TaskQueueStats) -> usize {
stats.threads_max
}
}
#