【发布时间】:2021-12-03 16:04:57
【问题描述】:
假设我有这样的计算:
async fn sum_2(x: &f64) -> f64 {
x + 2
}
fn main() {
let mut x = vec![
vec![1.0, 2.0, 3.0],
vec![2.0, 3.0, 4.0],
];
for i in 0..2 {
for j in 0..3 {
x[i][j] = sum_2(x[i][j]).await;
}
}
}
同时执行此操作的正确/更好方法是什么?
我知道join!(),当呼叫已知时,这非常好。
我也知道thread::spawn(),但我不知道这是否是实现这一目标的正确工具,也不知道如何实现。 Rust 中难道没有像线程池这样的东西,我可以将所有函数调用发送到然后执行吗?谢谢!
【问题讨论】:
-
看看人造丝箱
-
能否请您为上面的代码举一个例子或指导我做类似的事情?我发现的所有示例对我来说都很难理解或有点不同,因为我想更新适当的值。
标签: rust concurrency