Скажем, я проверяю переменную в цикле следующим образом.
while( var )
;
Здесь var должно быть объявлено volatile
, если программа многопоточная и var *Доступ к 1008 * осуществляется несколькими потоками.Это известный факт.Но, допустим, у нас есть что-то вроде этого.
while( var + 1 )
;
Будет ли это работать с volatile
?Я имею в виду, возможно ли, чтобы компилятор кэшировал значение (var + 1) ?Другими словами, я спрашиваю, нужно ли нам кодировать это следующим образом: temp также является переменной volatile
, чтобы компилятор не кэшировал.
while( temp )
temp = var + 1;