Ich habe Memory-Corder-Dinge in https://en.cppreference.com/w/cpp/atomi ... y_Order.in In dem Abschnitt 'Erläuterung' gelesen, ein Beispiel wird angegeben,
// Thread 1:
r1 = y.load(std::memory_order_relaxed); // A
x.store(r1, std::memory_order_relaxed); // B
// Thread 2:
r2 = x.load(std::memory_order_relaxed); // C
y.store(42, std::memory_order_relaxed); // D
< /code>
und es heißt < /p>
...in Besonders kann dies auftreten, wenn D vor C in Thread 2 abgeschlossen ist Entweder aufgrund der Neuordnung von Compiler oder zur Laufzeit < /p>
< /blockquote>
frage ich mich, dass C und D? < /p>
von https://en.cppreference.com/w/cpp/slanguage/eval_order garantiert die Definition von sequenziertem, vorne, dass sowohl die Wertberechnung als auch die Nebenwirkung eines Ausdrucks A vor einem anderen Expression B abgeschlossen werden, wenn A wird vorbo.
Wird der Compiler die Abschlussreihenfolge eines Expressionspaars ändern, das eine sequenzierte Bestellung hat? ⇐ C++
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Sequenzierte Collection -Schnittstelle in Java folgen keine festen Prinzipien
by Anonymous » » in Java - 0 Replies
- 11 Views
-
Last post by Anonymous
-
-
-
Wie man eine Otoco -Bestellung durch die Binance -API in Python platziert
by Anonymous » » in Python - 0 Replies
- 16 Views
-
Last post by Anonymous
-