lazy_static! {
pub static ref A: Mutex<Vec<u8>> = Mutex::new(vec![]);
}
#[test]
fn test() {
let mut handles = vec![];
for _ in 0..100 {
let handle = thread::spawn(|| for _ in 0..10000 { A.lock().unwrap().push(1); });
handles.push(handle);
}
for handle in handles { handle.join().unwrap(); }
println!("{}", A.lock().unwrap().len());
}
Я получил вывод, который был 1000000
, но я не уверен, что это правильный способ собрать data
в многопоточности.
Должен ли я изменить его на Arc<Mutex<_>>