Threads A, B, C erledigen separate Arbeiten (zwischen ihnen ist keine Synchronisation erforderlich).int a = 0;
int b = 0;
int c = 0;
std::atomic_int D_dependencies{ 3 };
< /code>
thread A :
a = 1;
D_dependencies.fetch_sub(1, std::memory_order_release);
< /code>
thread B :
b = 1;
D_dependencies.fetch_sub(1, std::memory_order_release);
< /code>
thread C :
c = 1;
D_dependencies.fetch_sub(1, std::memory_order_release);
< /code>
thread D :
if(D_dependencies.load(std::memory_order_acquire) == 0)
{
assert(a + b + c == 3);
}
< /code>
My understanding is that RMW operations like fetch_sub form a "release sequence" and so the load in thread D should observe all writes if it loads 0 from the atomic variable.
Am I correct?
Threads A, B, C erledigen separate Arbeiten (zwischen ihnen ist keine Synchronisation erforderlich).int a = 0; int b = 0; int c = 0; std::atomic_int D_dependencies{ 3 }; < /code> thread A : a = 1; D_dependencies.fetch_sub(1, std::memory_order_release); < /code> thread B : b = 1; D_dependencies.fetch_sub(1, std::memory_order_release); < /code> thread C : c = 1; D_dependencies.fetch_sub(1, std::memory_order_release); < /code> thread D : if(D_dependencies.load(std::memory_order_acquire) == 0) { assert(a + b + c == 3); } < /code> My understanding is that RMW operations like fetch_sub form a "release sequence" and so the load in thread D should observe all writes if it loads 0 from the atomic variable. Am I correct?
Threads A, B, C erledigen separate Arbeiten (zwischen ihnen ist keine Synchronisation erforderlich).int a = 0;
int b = 0;
int c = 0;
std::atomic_int D_dependencies{ 3 };
Threads A, B, C erledigen separate Arbeiten (zwischen ihnen ist keine Synchronisation erforderlich).int a = 0;
int b = 0;
int c = 0;
std::atomic_int D_dependencies{ 3 };
Ich habe ein Problem beim Laden von spezifischer Registerkarte als aktiv, wenn ich von einem verschiedenen Link stehst. Ich möchte tatsächlich einen Inhalt mit der Registerkarte Bootstrap platzieren...
Ich habe ein Problem beim Laden von spezifischer Registerkarte als aktiv, wenn ich von einem verschiedenen Link stehst. Ich möchte tatsächlich einen Inhalt mit der Registerkarte Bootstrap platzieren...
Ich habe ein Problem beim Laden von spezifischer Registerkarte als aktiv, wenn ich von einem verschiedenen Link stehst. Ich möchte tatsächlich einen Inhalt mit der Registerkarte Bootstrap platzieren...