Re[10]: вопрос по синхронизации в многопоточной среде
От: _stun_ Россия  
Дата: 15.07.10 09:35
Оценка:
Здравствуйте, tripol, Вы писали:

T>Вполне может прооптимизировать такой код:



T>
T>    while(!a.get_a()) // здесь может заинлайнить и без volatile цикл не выйдет
T>


Согласен, хотя к проблеме, поднятой топикстартером, это мало относится. И, кстати, InterlockedExchange заодно уж и эту опасность устранит.

T>И вообще рекомендуется применять volatile для таких случаев всегда независимо от того,

T>заоптимизирует данный компилятор или нет.

Ну, это смотря что считать "таким случаем". Можно и производительность нафиг загробить. Если в общем рассуждать, лучше доступ ко всему объекту из разных потоков грамотно организовывать, а не на уровне отдельных членов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.