C ++ 11のドラフトを読んで、1.7.3節に興味がありました。
メモリ位置は、スカラータイプのオブジェクト、またはすべてゼロ以外の幅を持つ隣接するビットフィールドの最大シーケンスのいずれかです。...実行の2つのスレッド(1.10)は、互いに干渉することなく、別々のメモリ位置を更新してアクセスできます。
この条項は、次のようなハードウェア関連の競合状態から保護しますか?
- 2つのバストランザクションでメモリが更新される非整列データアクセス(メモリティアリング)?
- システムメモリユニット内に個別のオブジェクトがあります。たとえば、32ビットワードに2つの16ビット符号付き整数があり、個別のオブジェクトを個別に更新するたびに、メモリユニット全体を書き込む必要があります(メモリの競合)。