linux-BR.org

Notícias de software livre e tecnologias

Por exemplo
A declaração (1) precede a declaração (2), portanto, a declaração (1) declaração “sequenciada antes” (2), que também é (1) a declaração “antes” (2).Portanto, não se pode dizer que, porque (3) “acontece antes” (4) e (4) “acontece antes” (6) que (2) “acontece antes” (6).Mas a operação (6) não depende de (4), portanto, não há um thread que ocorra antes da relação entre (3) e (6), portanto a afirmação (6) pode falhar.Neste último caso, é garantido apenas que (3) “sincronize-se-with” (4), não que exista uma relação de sincronização entre (2) e (4).Na mesma execução, read_x_then_y pode ver (1) antes (2), enquanto read_y_then_x pode ver (2) antes (1).

Fonte: https://www.sobyte.net/post/2022-06/cpp-memory-order/