This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (February 2015) (Learn how and when to remove this message) In computer science, load-linked/store-conditional[1] (LL/SC), sometimes known as load-reserved/store-conditional[2] (LR/SC), are a pair of instructions used
Introduction Atomic operations are the building blocks of synchronization primitives and non-blocking algorithms. They guarantee that, when modifying a memory location, it will happen without any interference from other threads. They are required whenever writing applications for multiple-cores architectures. Consider this function: void NonAtomicAND(tS32* Value, tS32 Op) { *Value &= Op; } Which t
C++11標準ライブラリのatomic操作関数compare_exchange_weakとcompare_exchange_strongについてメモ。 両関数ともに変数のatomicなCAS(compare-and-swap)操作を提供する。weak版とstrong版との動作仕様は、weak版では “交換可能な場合でもCAS操作失敗する可能性がある(spurious failure)”*1 が、strong版では “交換可能な場合は常にCAS操作が成功する” という点のみ異なる。当初はweak版のみが定義されていたが、強いCAS操作命令をもつハードウェア性能を生かすために、N2748にてstrong版が追加された。 利用指針は下記の通り。大抵のケースでは ループ構造+compare_exchange_weakでよい(はず)。 アルゴリズム上、CAS操作をループで括る必要があればcompar
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? T/O マルチスレッド・プログラミングの文脈では、「データ競合(data race)」と「競合状態(race condition)」は直交した異なる概念を表す1。両者ともに回避すべき事象だが、問題を取り扱うレイヤは明確に区別されるべき。 データ競合(data race)は、マルチスレッド・プログラム実装上の問題である。 競合状態(race condition)は、並行処理システム設計上の問題である。 ここではJava, C#, C++あたりのマルチスレッド対応手続き型ベースのプログラミング言語を取り上げるが、言語パラダイムによらずマルチ
この記事はC++ Advent Calendar 2014の21日目にエントリしています。 内容はC++メモリモデルと逐次一貫性についての概説記事となっています。 flickr / nomadic_lass もくじ 忙しい人のための「C++メモリモデル」 C++メモリモデル一問一答 ソフトウェアからみた「C++メモリモデル」 “メモリ”という共有リソース C++ソースコードが実行されるまで メモリの一貫性と整合性 逐次一貫性モデル is Easy ハードウェアからみた「C++メモリモデル」 ハードウェア・メモリ一貫性モデル C++コンパイラの責任と自由 強いメモリモデル vs. 弱いメモリモデル 逐次一貫性モデル is Hard (本文のみ約9600字) まえがき When your hammer is C++, everything begins to look like a thumb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く