⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

rayon并行迭代器

使用rayon库将普通迭代器转换为并行迭代器,轻松实现数据并行处理。 · 难度:入门 · +15XP

rayon并行迭代器

rayon 库通过 .par_iter() 将顺序迭代转换为并行迭代,自动利用多核CPU。它支持 map、filter、reduce 等常见操作。适合CPU密集型任务,但注意并行开销和数据竞争。Cargo.toml 需添加 rayon = "1" 依赖。

use rayon::prelude::*;

fn main() { let numbers = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// 并行计算平方和 let sum_of_squares: i32 = numbers .par_iter() // 并行迭代器 .map(|&x| x * x) .sum();

println!("Sum of squares: {}", sum_of_squares);

// 并行过滤偶数并乘以2 let result: Vec = numbers .par_iter() .filter(|&&x| x % 2 == 0) .map(|&x| x * 2) .collect();

println!("Filtered even numbers doubled: {:?}", result); }

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 122 篇
0 完成
🔥 0