eao197 wrote:
> В связи с этим у меня вопрос: можно ли услышать/увидеть реальные примеры того, как в многопоточных приложениях обнаруживались проблемы из-за того, что не использовалось volatile? Именно реальные, хорошо бы с примерами, хотя бы псевдокода. И не драйверов или софта для работы с железом, а "прикладного" кода.
С использованием средств синхронизации никаких проблем без volatile нет и быть не должно.
> Просто у меня сложилось такое мнение, что сейчас что с volatile, что без, если используешь штатные средства синхронизации (будь то WinAPI или POSIX), то можно быть спокойным. Более того, разработчики компиляторов не могут не учитывать того факта, что в мире немало программистов (я из их числа), которые не озаботились применением volatile в многопоточном приложении. И если выйдет новая версия компилятора, для которого применение volatile критически важно, то все эти программисты столкнутся с огромным объемом неработоспособного кода. Поэтому можно ожидать, что и в новых компиляторах многопоточные приложения без volatile останутся работоспособными. Но это мое впечатление.
Маловероятно, что кто-то выпустит такой компилятор — его непросто будет продавать, да и tech. support calls разработчикам компилятора не нужны.
--
Maxim YegorushkinPosted via RSDN NNTP Server 1.9