現代のプログラミングではよりよい性能のためにマルチコア、マルチスレッドで動作するコードを書くというのは珍しくないと思います。多くのプログラミング言語ではユーザに利用しやすい形でそのための言語機能や標準ライブラリを提供しています。ですが抽象化のレイヤを降りて、例えば CPU のレベルで考えると同期化のために難しい概念というのが多数登場します。 ここではその中で「メモリコンシステンシ」について自分の理解をまとめました。これは言語によっては完全に隠された概念だと思うのですが C++ や Rust ではアトミックな操作に std::memory_order や std::sync::atomic::Ordering というパラメータを渡すことで、操作が従うべきメモリコンシステンシモデルを指定できます。最初のうちはそう言われても? という感じだったのですが、いくつか良質な資料に出会い徐々に理解ができ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く