我必须在循环中的每个迭代开始时生成一个很大的Vec<Mutex<...>>
,它在循环中发生Mutations .因为每次迭代重新生成它是相当昂贵的,我正在寻找一些方法来初始化vec一次,并使deep个克隆的矢量在循环中使用.当然,简单的.clone()
是行不通的,因为克隆人仍然会以互斥方式保护内存中的相同数据,而不是复制它.一些类似的事情
let my_vec = (0..big_usize).map(|_| Mutex::new(..)).collect();
for ... {
clone = my_vec.deep_clone();
mutate_clone_safely();
}