3 个不稳定版本
0.2.0 | 2024 年 5 月 9 日 |
---|---|
0.1.1 | 2020 年 4 月 18 日 |
0.1.0 | 2019 年 3 月 9 日 |
#251 在 并发
被 2 crates 使用
8KB
108 行
ordered-parallel-iterator
此 crate 提供了一个任务结果的迭代器,它并行执行任务,并按源范围迭代器的顺序返回完成的任务。如果你需要并行处理一些数据,但又需要结果按照出现顺序(FIFO)返回,这将非常有用。
法律
MIT 或 UNLICENSE 双许可。
安装
将以下依赖项添加到您的 Cargo.toml
[dependencies]
ordered-parallel-iterator = "0.2"
用法
use ordered_parallel_iterator::OrderedParallelIterator;
fn run_me(x: usize) -> usize {
x + 1
}
fn main() {
for i in OrderedParallelIterator::new(|| 0..10, || run_me) {
println!("Result from iterator: {}", i);
}
}
在此示例中,每个 run_me
调用将在自己的线程中发生,但结果将按完成速度的顺序返回。并行运行的任务数量绑定到 CPU 核心的数量。
lib.rs
:
Crate ordered-parallel-iterator
提供了一个任务结果的迭代器,它并行执行任务,并按源范围迭代器的顺序返回完成的任务。如果你需要并行处理一些数据,但又需要结果按照出现顺序(FIFO)返回,这将非常有用。
安装
将以下依赖项添加到您的 Cargo.toml
[dependencies]
ordered-parallel-iterator = "0.2"
用法
use ordered_parallel_iterator::OrderedParallelIterator;
fn run_me(x: usize) -> usize {
x + 1
}
fn main() {
for i in OrderedParallelIterator::new(|| 0..10, || run_me) {
println!("Result from iterator: {}", i);
}
}
在此示例中,每个 run_me
调用将在自己的线程中发生,但结果将按完成速度的顺序返回。并行运行的任务数量绑定到 CPU 核心的数量。
依赖项
~215KB