Я не понимаю их. Предположим, что у меня есть значение 10 по адресу памяти x.Строгое согласование по сравнению с последовательным
Если мы имеем
thread1:
Read(x)
x+=5
Write(x)
, а затем:
thread2:
Read(x)
x+=2
Write(x)
Я не понимаю, что действует последовательная или строгая последовательность.
Как здесь, это действительный результат строгого согласования?
T1: R(x), found 10 W(x), x is now 15
T2 R(x),found 10 W(x), x is now 12
Это кажется бесполезным. x имеет неправильное значение ... он не был аддитивным. Тем не менее, доступ, выполняемый каждым процессором, был сохранен в порядке, и каждый из них видел тот же порядок. Это критерий строгой последовательности, не так ли? Не имеет значения, что результат раздавлен.
И для последовательной согласованности ... Я не понимаю различия между ними и строгими.