kumagi @kumagi_bot 原始的なSTMのおはなし。STMは複数の箇所の書き換えをatomicに行えるが一体どうやってるのか、今の段階でうろ覚えしながら書きます。 kumagi @kumagi_bot CASは1wordしか書き換えれないのになんでアトミックに複数箇所を書き換えれるのか、平たく言うとそれはオブジェクトそのものをCASで書き換えるのではなく、各スレッドの状態をCASで書き換えるから。 kumagi @kumagi_bot どのようにしてそのような面妖な仕組みを生み出したかというとこれまたコンピュータ界の格言である「間接参照はすべての問題を解決する」そのものであり、STMにはその間接参照という魔法が2つもかけられている。
![真夜中のSTMトーク](https://cdn-ak-scissors.b.st-hatena.com/image/square/545d792f357f420997fb7cf9f7cc607f17bb8911/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F4cff919a4b77439cb571dc54376b323d-1200x630.jpeg)