「ソフトウェアトランザクショナルメモリ」の版間の差分
削除された内容 追加された内容
タグ: 差し戻し済み |
タグ: 差し戻し済み |
||
30行目:
STM においては、この問題は単純に解決できる。あるトランザクション中における2つの操作を単にラップしてアトミックな操作としてくっつけてしまえばよいのである。唯一の突っ込み所としてはこの処理を呼び出す側からははっきりしないことがある所である。つまり、コンポーネントが提供する方法の実装の詳細や、もし操作が失敗した場合に、そのトランザクションが再実行を試みるタイミングである。それに対して、筆者は '''retry''' コマンドを提案している。これは、トランザクションが失敗したときに生成されるトランザクションログを使って、どのメモリセルが読み出されたかを決定するものである。そして、これらのメモリセルのうちの一つが変更された時に自動的にトランザクションをリトライする。これは、少なくともある一つの値が変化するまでは、トランザクションの振る舞いは変わらないだろうという考えに拠っている。
筆者はまた、操作を合成するための代替手段を提案している。これは
==脚注==
<references/>
== 提案されている言語側のサポート ==
|