引きだけで終わってしまった前回のつづきです。 最近2件つづけて「トイレ スピンロック」というキーワードでうちのサイトにやってきた人がいました。 どうやらLinuxでロック=トイレという常識は予想以上に広まっているようです。 赤レンジャーも負けてはいられません(マテ さて、今回からいよいよ rmb(), wmb() の謎に迫っていくわけであるが、そもそも、なぜにこげなモノが必要なのだろう? Why? それは、プログラムは人間が書いた順番では動かないからである。 プログラムは決して思ったとおりには動かない――― 書いたとおりには動くけど。 -- 詠み人不明 という古の格言を無視するような発言であるが、これは一面において事実である。 なぜなら、コンパイラには最適化、CPUにはアウトオブオーダ実行というものがあるからだ。 これが普段問題にならないのは、ソースコードに書いた順番に実行したときと異なる