どの言語でも『single writer XOR multiple readers』の原則を守ればデータ競合は起こらない
逆にそれを破ればシングルスレッドでもデータ競合は発生し得る
ほとんどの言語でデータ競合が起きる

>>762
Rustは『single writer XOR multiple readers』を言語仕様で満たしている
そのためRustではメモリ安全性だけでなくデータ競合も起きないことを保証している
もちろんC/C++と同じように生ポインタを使えるunsafeを使った場合はその部分を人間が責任を持つ