2016-03-04 7 views
0

Пожалуйста, помогите мне, чтобы решить эту проблему. Я попробовал несколько последовательностей в состоянии гонки, но я не смог получить правильный. каждый раз, когда значение x равно.Условие гонки с использованием сегмента кода

enter image description here

Это способ, которым я пытался

enter image description here

+1

прилагается усилия сначала. Что вы думаете в настоящее время? – Takarii

+1

Я загрузил способ, которым я пробовал, в настоящее время значение x s совпадает с тем же, что и последовательность выполнения. – tishantha

ответ

1

В предположении, что линия не должна рассматриваться как атомарная операция, вы можете разделить любой из линий модифицируя x на основе собственного значения в , читайте и напишите часть. Делать это только для одного, например, из increase функций, урожайности:

y = 5; 
int temporary = x; // read value 
temporary += y; 
x = temporary; // write modified value back 
x++; // this could be split up similarly 
z = /* whatever */; 

С этой «расширенной» кодовой последовательностью вы не должны иметь никаких проблем с поиском последовательности операций с различными значениями результата для x.

Смежные вопросы