7个版本

使用旧Rust 2015

0.1.5 2019年8月19日
0.1.4 2018年1月19日
0.1.0 2017年12月20日
0.0.1 2017年12月19日

#894并发

Download history · Rust 包仓库 100/week @ 2024-03-29 · Rust 包仓库 49/week @ 2024-04-05 · Rust 包仓库 47/week @ 2024-04-12 · Rust 包仓库 57/week @ 2024-04-19 · Rust 包仓库 58/week @ 2024-04-26 · Rust 包仓库 54/week @ 2024-05-03 · Rust 包仓库 53/week @ 2024-05-10 · Rust 包仓库 43/week @ 2024-05-17 · Rust 包仓库 49/week @ 2024-05-24 · Rust 包仓库 47/week @ 2024-05-31 · Rust 包仓库 31/week @ 2024-06-07 · Rust 包仓库 86/week @ 2024-06-14 · Rust 包仓库 58/week @ 2024-06-21 · Rust 包仓库 17/week @ 2024-06-28 · Rust 包仓库 9/week @ 2024-07-05 · Rust 包仓库 29/week @ 2024-07-12 · Rust 包仓库

每月 125 次下载
12 个crate使用 (通过 fibers_tasque)

MIT 许可证

16KB
331

tasque

Documentation Build Status Code Coverage License: MIT

Rust的一个简单线程池库。

文档


lib.rs:

Rust的一个简单线程池库。

示例

基本使用

use std::sync::mpsc;
use std::thread;
use std::time::Duration;
use tasque::TaskQueueBuilder;

// Creates a task queue.
// This queue spawns worker threads for executing tasks.
let queue = TaskQueueBuilder::new().worker_count(3).finish();

// Executes asynchronous tasks.
let (tx, rx) = mpsc::channel();
for (i, tx) in (0..3).map(|i| (i, tx.clone())) {
    queue.enqueue(move || {
        thread::sleep(Duration::from_millis(20 - i * 10));
        let _ = tx.send(i);
    });
}

// Waits results.
assert_eq!(rx.recv().ok(), Some(2));
assert_eq!(rx.recv().ok(), Some(1));
assert_eq!(rx.recv().ok(), Some(0));

依赖项

~1.4–1.8MB
~43K SLoC