hoge

大雑把に言って何を使って何を行うの?

コンピュータの世界の名言に「全ての問題は間接化によって解決する」という物が有ります。ノンブロッキングSTMもその一種でまさに間接参照を用いてブレイクスルーを果たしました。

1ワード幅のCAS命令(LL/SC命令でも可)さえ有ればそれ以上強力な同期命令を必要としないので、早い話が今あなたが使っているCPUで動きます。

それによってどんなプログラムが書けるようになるかというと

atomic {
  if(x == 0){
    y += 1; // この瞬間も x==0であることが保証される
  }
}

のような雰囲気で書けます。複数ヶ所の一括更新が上限なくデッドロックの心配もなく行えます。*8

  1. hkato193 reblogged this from atm09td
  2. atm09td reblogged this from ukar
  3. ukar posted this