1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年3月2日 |
---|
#763 在 并发 中
5KB
93 行
PoolTer
这是一个非常基础的Rust线程池库,主要设计为受JavaScript Promise结构启发的并发任务运行机制。
[dependencies]
poolter = "*"
欢迎贡献
这是一个基础库,但如果您发现一些错误或代码逻辑错误,请随时提交拉取请求或创建一个问题。
extern crate poolter;
use poolter::PoolTer;
.......
let mut pool = PoolTer::init();
init()
函数将根据CPU核心数启动线程,并将监听回调函数以使用基本的Round Rubin轮询在可用线程上运行。这提供了在多个核心上分配负载的优势,并保持了简单性。
因此,现在我们可以使用类似基本的JavaScript Promise的代码语法在线程循环中运行函数
// This will be executing in Thread 1
pool.exec(Box::new(move || {
println!("This will run first in Thread 1 !");
})).then(Box::new(move || {
println!("After that we will call this one in Thread 1 !");
}));
// This will be executing in Thread 2
pool.exec(Box::new(move || {
println!("This will run first in Thread 2 !");
})).then(Box::new(move || {
println!("After that we will call this one in Thread 2 !");
}));
欢迎贡献
这是一个基础库,但如果您发现一些错误或代码逻辑错误,请随时提交拉取请求或创建一个问题。
依赖项
~79KB