次の定義があるとします。
struct X
{
char a, b;
};
X x;
次に、2 つのスレッドがあり、そのうちの 1 つは読み取りと書き込みを行いますx.a
が、アクセスすることはなくx.b
、もう 1 つは読み取りと書き込みを行いますx.b
がアクセスすることはありませんx.a
。どちらのスレッドもロックやその他の同期プリミティブを使用しません。これは C++11 で動作することが保証されていますか? それとも、同じオブジェクトへのアクセスとしてカウントされるため、ロックが必要ですか?