Parallel processing 两级par_iter的并发考虑

Parallel processing 两级par_iter的并发考虑,parallel-processing,rust,Parallel Processing,Rust,我正在尝试在Rust中使用ndarray_parallel,希望检查是否有任何需要注意的事项。具体来说,代码是这样的 let mut mat = Array2::<f64>::zeros((1000, 1000); Zip::from(mat.axis_iter(Axis(0))).par_apply(|row| { row.into_par_iter().map(...).collect() ; }); 让mut mat=Array2:::零((10001000); Z

我正在尝试在Rust中使用ndarray_parallel,希望检查是否有任何需要注意的事项。具体来说,代码是这样的

let mut mat = Array2::<f64>::zeros((1000, 1000);
Zip::from(mat.axis_iter(Axis(0))).par_apply(|row| {

    row.into_par_iter().map(...).collect() ;
});
让mut mat=Array2:::零((10001000);
Zip::来自(材料轴(轴(0))。部分适用(|行|{
row.into_par_iter().map(…).collect();
});

我是否需要小心我在map()中所做的事情?

最好提供一个具体的例子,说明您尝试了什么,但担心出现问题,以及您所指的确切问题。给定的代码无法编译。还要注意的是,Rust编译器已经可以保护您免受数据争用。在阅读了更多关于Rust方法中编译器保证的内容后,我意识到我的担忧是无效的id:)