よく「シングルプロセッサなら」と言う人が居るけどさ
実際に変数を「読み書き」すると言っても
本当に「読む」と「書く」を完全に独立して行うことなど、あまり無いだろ。

つまり、数値変数を+したり、ポインタを進めたり
あるいはリンクリストを手繰って更新する場合などにしろ
一度読んでから、その値を元に書き込むケースが多いわけ。

つまり、この読んだ直後にコンテキストスイッチが入って別のスレッドに割り込まれたら
たとえシングルプロセッサであっても正常に動作しない。
(こうならないために、アトミック命令というのが存在するんだけど)
その辺をわかってない奴が「シングルプロセッサでは再現性の低いバグ」を混入させておいて
「マルチプロセッサだとうまく動かない」と騒いでいることも多い。