// -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>
Поскольку потоки не должны синхронизировать по всей системе, либо утверждают в этом примере, на самом деле может потерпеть неудачу.
Я могу выяснить, почему утверждает, что A может потерпеть неудачу. Но зачем утверждать, что B также может не сработать?>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ied-sample
Образец вики с вики -памятью GCC Barred ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Образец образец фиксированного параметра в зависимости от другого параметра
Anonymous » » в форуме Python - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-