タグ

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

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

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

    volatileってなんだろう - ぼっち勉強会
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • メモリオーダリング - Wikipedia

    このページは著作権侵害のおそれが指摘されており、事実関係の調査が依頼されています。 このページの現在または過去の版は、ウェブサイトや書籍などの著作物からの無断転載を含んでいるおそれが指摘されています。もしあなたが転載元などをご存知なら、どうぞこのページのノートまでご一報ください。 著作権侵害が確認されると、このページは削除の方針により一部の版または全体が削除されます。もしこのページの加筆や二次利用をお考えでしたら、この点を十分にご認識ください。 この項目「メモリオーダリング」は途中まで翻訳されたものです。(原文:英語版 "Memory_ordering" 13:04, 21 January 2015 (UTC)) 翻訳作業に協力して下さる方を求めています。ノートページや履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2015年2月) メモリオーダリング(

  • 1