GCC Wiki Memory Bared ProbeC++

Programme in C++. Entwicklerforum
Anonymous
 GCC Wiki Memory Bared Probe

Post by Anonymous »

// -Thread 1-
y.store (20, memory_order_relaxed)
x.store (10, memory_order_relaxed)

// -Thread 2-
if (x.load (memory_order_relaxed) == 10)
{
assert (y.load(memory_order_relaxed) == 20) /* assert A */
y.store (10, memory_order_relaxed)
}

// -Thread 3-
if (y.load (memory_order_relaxed) == 10)
assert (x.load(memory_order_relaxed) == 10) /* assert B */
< /code>
Da Threads nicht über das System synchronisiert werden müssen, kann entweder in diesem Beispiel tatsächlich fehlschlagen.

Ich kann herausfinden, warum ein Versäumnis behaupten kann. Aber warum behaupten B auch scheitern können?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post