rust线程沲
1.背景
如果在rust中使用线程沲,因rust自身没有ThreadPool,需要使用第三方库;例如:知名的rayon
2.解决方案
在Cargo.toml中添加rayon的配置,最新版本为1.8
1
2
|
[dependencies]
rayon = "1.8.0"
|
3.使用示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
use rayon::prelude::*;
pub fn thread_pool_test() {
let mut v = Box::new(Vec::new());
//注意别越界了
let v_size: u64 = 10000000;
v.reserve(v_size.try_into().unwrap());
for i in 0..v_size {
v.push(i);
}
let sum: u64 = v.into_par_iter().map(|i| {
i
})
.sum();
println!("v sum:{}", sum);
}
|
4.效果
文章作者
梵梵爸
上次更新
2024-01-29
许可协议
原创文章,如需转载请注明文章作者和出处。谢谢