「ラッチはCPUの数より増やしても意味がない」とはよく言われることだ。なぜか。CPUの数より多くのラッチを同時に使用することはできないからだ。まったく理にかなっているようだが、実はうそが隠れている。どういうことか説明しよう。 あなたが、札付きの凶暴な囚人が集められた警備の厳重な刑務所の所長だとしよう。部下の看守は20人で、それぞれ20人の囚人を担当している。大規模暴動を防ぐため、これら21人のグループは相互に隔離されている。また、万が一銃撃戦が起こる危険を減らすため、銃は5丁だけ装備され、20人の看守がこれらを共用しなければならない。刑務所長はこのほかに看守長を任命し、5丁の銃を看守に割り振る役割を任せている。看守はどんな状況でも持ち場を離れてはならず、ほかの看守を助けに行くことも許されない。囚人と格闘するのはもってのほかであるため、看守は銃なしでは、暴れる囚人に決して対応してはならず、1
![ラッチをCPUより多くする――Oracleパフォーマンス最適化のヒント](https://cdn-ak-scissors.b.st-hatena.com/image/square/ba6d46df0bbfd49fe49b0b310841018c29cda511/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Flogo%2F1200x630_500x500_tt.gif)