Здравствуйте, eao197, Вы писали:
E>А в стандарте C++ где нибудь сказано, что вот здесь:
E>E>for (unsigned int i = MaxIter; (i != 0) && go; --i)
E>
E>операция чтения переменной go будет атомарной? По-моему, язык C++ этого никак не гарантирует. Даже с помощью volatile.
Атомарность это понятие относится к платформе, а не к языку. volatile — гарантирует, что оптимизатор не будет позволять себе слишком многого.
E>А синхронизация нужна хотя бы потому, что чтение общих данных без синхронизации это
Для чего нужна синхронизация если тебе важно знать поменялось значение или нет? Тебе не важно САМО значение, тебе важен факт его изменения. Какая тут нужна синхронизация