-
- не, он предупреждает о том, что в выражении использована более чем одна volatile переменная, и непонятно в каком порядке их вычитывать. Чуть ниже об этом уже написали. А атомарный доступ к переменным тут ни при чём - koyodza(30.04.2010 12:41)
- Тем не менее, volatile не обеспечивает атомарности доступа. А это ничем не лучше, чем неправильный порядок вычитывания переменных. - Лeoнид Ивaнoвич(30.04.2010 12:48)
- volatile только показывает, что "здесь и сейчас" нужно эту переменную вычитать из памяти (или записать). А в выражении a = b + c порядок вычитывания b и с не определён, вот и получается предупреждение koyodza(75 знак., 30.04.2010 12:56)
- Это довольно распространенное заблуждение, что volatile гарантирует атомарность. Поэтому не лишним будет еще раз напомнить :) - Лeoнид Ивaнoвич(30.04.2010 13:12)
- "volatile гарантирует атомарность" Хм ! странно, неужели кто-то так думает ? :) - =MIV=(30.04.2010 13:46, )
- Да тут совсем недавно (в рамках последних пяти лет) был грозный пост, что, оказывается, атомарность нужно обеспечивать ручками, volatile не хватает :) - Лeoнид Ивaнoвич(30.04.2010 13:59)
- Ну если не хватает volatile :) тада да ручками :) - =MIV=(30.04.2010 14:44, )
- Да тут совсем недавно (в рамках последних пяти лет) был грозный пост, что, оказывается, атомарность нужно обеспечивать ручками, volatile не хватает :) - Лeoнид Ивaнoвич(30.04.2010 13:59)
- да вроде человек говорит, что помнит - koyodza(30.04.2010 13:19, ссылка)
- "volatile гарантирует атомарность" Хм ! странно, неужели кто-то так думает ? :) - =MIV=(30.04.2010 13:46, )
- Это довольно распространенное заблуждение, что volatile гарантирует атомарность. Поэтому не лишним будет еще раз напомнить :) - Лeoнид Ивaнoвич(30.04.2010 13:12)
- volatile только показывает, что "здесь и сейчас" нужно эту переменную вычитать из памяти (или записать). А в выражении a = b + c порядок вычитывания b и с не определён, вот и получается предупреждение koyodza(75 знак., 30.04.2010 12:56)
- Тем не менее, volatile не обеспечивает атомарности доступа. А это ничем не лучше, чем неправильный порядок вычитывания переменных. - Лeoнид Ивaнoвич(30.04.2010 12:48)
- не, он предупреждает о том, что в выражении использована более чем одна volatile переменная, и непонятно в каком порядке их вычитывать. Чуть ниже об этом уже написали. А атомарный доступ к переменным тут ни при чём - koyodza(30.04.2010 12:41)