Model pamięci C ++ 11 i dostęp do różnych elementów tej samej struktury w różnych wątkach
Załóżmy, że masz następujące definicje:
struct X
{
char a, b;
};
X x;
A teraz załóżmy, że masz dwa wątki, z których jeden czyta i piszex.a
ale nigdy nie ma dostępux.b
podczas gdy drugi czyta i piszex.b
ale nigdy nie ma dostępux.a
. Ani wątek nie używa żadnych blokad ani innych prymitywów synchronizacji. Czy to gwarantuje pracę w C ++ 11? Czy też liczy się jako dostęp do tego samego obiektu, a zatem potrzebuje blokady?