0;
let th1 = thread::spawn(move ||{
loop{
b+=1;
println!("b = {:?}",b);
}
});
let th = thread::spawn(move ||{
loop{
b-=1;
println!("b = {:?}",b);
}
});
let res_th1 = th1.join();
let res_th = th.join();
}
каждый поток у тебя инкрементит/декрементит свою переменную, объявленная на 3 строчке остаётся нетронутой этими потоками
Замени i64 на, например, String и код не скомпилируется
А мне как работать над одним объектом с помощью потоков ?
Arc/Mutex/channels
Да в доках написано
атомики, статики, скопед треды, зависит от задачи
Обсуждают сегодня