タグ

compilerとmemory-orderingに関するnabinnoのブックマーク (2)

  • volatileってなんだろう - ぼっち勉強会

    目的 「volatileって何?」という質問があり、自分の理解も曖昧だったので復習してみた。 勉強内容 volatileって? 何の意味があるの? コンパイラの最適化(置き換え)を抑止する コンパイラの最適化(リオーダー)を抑止する スレッドが値を参照する際に、必ず最新の値を見るようにする volatileって? 修飾子です。次のようにフィールドに対して付けます。 public class Hoge { public volatile int num; } 何の意味があるの? ぼくは次のように理解していますが、まだ自信はありません。 コンパイラの最適化(置き換え)を抑止する コンパイラの最適化(リオーダー)を抑止する スレッドが値を参照する際に、必ず最新の値を見るようにする Javaでは3つ目の説明ばかり見るのですが、これは結果として他のも対応されるからなのかな? まだよく分かっていません

    volatileってなんだろう - ぼっち勉強会
  • メモリオーダリング - Wikipedia

    この項目「メモリオーダリング」は途中まで翻訳されたものです。(原文:英語版 "Memory_ordering" 13:04, 21 January 2015 (UTC)) 翻訳作業に協力して下さる方を求めています。ノートページや履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2015年2月) メモリオーダリング(英: Memory Ordering)とは、CPUによるコンピュータメモリへのアクセス順序を表わす。この言葉は、コンパイル時のコンパイラに生成されるメモリオーダリングか、実行時にCPUによって生成されるメモリオーダリングのいずれかを指す。 近代的なマイクロプロセッサでは、メモリオーダリングはメモリ操作の順番を入れ替えるCPUの特性を示す。メモリリオーダリングはアウト・オブ・オーダー実行の一種であり、キャッシュメモリやメモリバンクといった異なるタイ

  • 1