Re[5]: Реальный пример использования volatile
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 18.01.05 13:27
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Зачем нужна синхронизация с помощью обьектов ядра, когда один поток пишет атомарное значение и несколько других читает это значение?


А в стандарте C++ где нибудь сказано, что вот здесь:
for (unsigned int i = MaxIter; (i != 0) && go; --i)

операция чтения переменной go будет атомарной? По-моему, язык C++ этого никак не гарантирует. Даже с помощью volatile.

А синхронизация нужна хотя бы потому, что чтение общих данных без синхронизации это -- "For every complex problem, there is a solution that is simple, neat, and wrong." (С) AndrewJD

А если серьезно, то лично я считаю, что лучше переплатить за безопасность синхронизацией, чем потом разгребать проблемы.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.