По ссылке вроде бы вполне дельно про volatile. Ну и бывает ещё
атомарность, конечно. Кстати, обычно отключение оптимизации среди
прочего делает так, что вообще все переменные ведут себя как
volatile, так что у тебя есть простой способ быстро узнать, имеет
ли volatile отношение к твоим проблемам. http://www.pic24.ru/doku.php/osa/articles/volatile_for_chainiks