#thread-pool #future #representing

futures-threadpool

使用futures实现的线程池

2个不稳定版本

使用旧的Rust 2015

0.1.0 2016年12月29日
0.0.1 2016年12月28日

#representing中的排名:52


kabuki中使用

MIT/Apache

10KB
152

futures-threadpool

一个库,用于创建表示在专用线程池上并发执行工作的futures。

用法

首先,将以下内容添加到您的 Cargo.toml

[dependencies]
futures = "0.1"
futures-threadpool = "0.1"

然后,将以下内容添加到您的crate中

extern crate futures;
extern crate futures_threadpool;

use futures_threadpool::ThreadPool;

许可证

futures-threadpool 主要根据MIT许可证和Apache许可证(版本2.0)的条款进行分发,部分受各种类似BSD的许可证的保护。

有关详细信息,请参阅LICENSE-APACHE和LICENSE-MIT。


lib.rs:

一个简单的crate,用于在线程池上执行工作,并返回一个future。

此crate提供了一种简单的线程池抽象,用于在当前运行的线程之外运行工作。返回一个Future实例来表示工作可以在以后完成,并且还可以与它一起进行进一步的计算。

extern crate futures;
extern crate futures_spawn;
extern crate futures_threadpool;

use futures::Future;
use futures_spawn::SpawnHelper;
use futures_threadpool::ThreadPool;


// Create a worker thread pool with four threads
let pool = ThreadPool::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);

依赖关系

~155KB