8 个版本
使用旧的 Rust 2015
0.1.8 | 2018年1月2日 |
---|---|
0.1.7 | 2017年10月12日 |
0.1.6 | 2017年9月14日 |
0.1.5 | 2017年3月21日 |
0.1.0 |
|
在 #手动 中排名 26
每月下载量 81,141 次
此crate已失去人气
71KB
993 行
线程池-futures-cpupool
一个库,用于创建表示在专用线程池上并发执行工作的 futures。
用法
首先,将此内容添加到您的 Cargo.toml
[dependencies]
futures = "0.1"
futures-cpupool = "0.1"
然后,将此内容添加到您的 crate
extern crate futures;
extern crate futures_cpupool;
use futures_cpupool::CpuPool;
许可证
线程池-futures-cpupool
主要在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发,部分内容受各种类似 BSD 许可证的覆盖。
请参阅 LICENSE-APACHE 和 LICENSE-MIT 以获取详细信息。
lib.rs
:
一个简单的 crate,用于在线程池中执行工作并返回一个 future。
此 crate 提供了一个简单的线程池抽象,用于在当前线程之外运行工作。通过返回一个 Future
实例来表示工作可能稍后完成,并可以将其与进一步的计算一起链式执行。
extern crate futures;
extern crate futures_cpupool;
use futures::Future;
use futures_cpupool::CpuPool;
// Create a worker thread pool with four threads
let pool = CpuPool::new(4);
// Execute some work on the thread pool, optionally closing over data.
let a = pool.spawn(long_running_future(2));
let b = pool.spawn(long_running_future(100));
// Express some further computation once the work is completed on the thread
// pool.
let c = a.join(b).map(|(a, b)| a + b).wait().unwrap();
// Print out the result
println!("{:?}", c);