>>938
Rustでもロックは不要
例えばバッファをエリア8分割して8つのスレッドで書き換え並列処理

use rayon::prelude::*;

const BUF_SIZE: usize = 1 << 16;
const NUM_OF_AREA: usize = 8;
const AREA_SIZE: usize = BUF_SIZE / NUM_OF_AREA;

fn main() {
let mut buf: Box<[i64]> = (0..BUF_SIZE as i64).collect();

buf.par_chunks_mut(AREA_SIZE).for_each(|area| {
println!("DEBUG: {:?}", std::thread::current().id());
area.iter_mut().for_each(|n| {
*n = *n * *n;
});
});
}