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 次下载

MIT 许可证

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
    }
}
#

无运行时依赖