Was bedeutet jeder Memory_order?C++

Programme in C++. Entwicklerforum
Anonymous
 Was bedeutet jeder Memory_order?

Post by Anonymous »

Ich habe ein Kapitel gelesen und es mochte es nicht viel. Mir ist immer noch unklar, was die Unterschiede zwischen jeder Speicherreihenfolge sind. Dies ist meine aktuelle Spekulation, die ich nach dem Lesen von viel einfacherem http://en.cppreference.com/w/cpp/atomic/Memory_order

Das unten störende Abstand von IGICNED -IGLED -IGLEIDED -IGLED -IGLED -ID -< -br. Wenn die Reihenfolge aus einem anderen Modus in einem anderen atomaren var < /li>
[*] MEAME_ORDER_CONSUME: Synchronisiert diese atomare Variable, synchronisiert sie nicht, entspannte Vars, die zuvor geschrieben wurden. Wenn der Thread jedoch var x verwendet, wenn Sie y ändern (und ihn freigeben). Andere Themen, die y konsumieren, werden X ebenfalls freigegeben? Ich weiß nicht, ob dies bedeutet, dass dieser Thread Änderungen von x (und offensichtlich y) < /li>
MEAME_ORDER_ACQUIRE: Synchronisiert diese atomare Variable und stellt sicher, dass entspannte Uni geschrieben wird, bevor dies ebenfalls synchronisiert wird. (Bedeutet dies, dass alle atomaren Variablen auf allen Threads synchronisiert sind?)
[*] memory_order_release: Drückt den Atomspeicher in andere Threads (aber nur, wenn sie die VAR mit Consume/Erfassen lesen)
memory_acqq_rel: for Read/Schreiben OPS. Erfasst, dass Sie einen alten Wert nicht ändern und die Änderungen freigeben. Variable?). < /li>
< /ul>

Ich denke, ich habe mich verstanden, aber korrigiere mich, wenn ich falsch liege. Ich konnte nichts finden, was es in leichtem Englisch erklärt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post