Информация об изменениях

Сообщение Re[7]: Volatile и предупреждение C5220 от 03.01.2022 12:31

Изменено 03.01.2022 12:33 Максим

Re[7]: Volatile и предупреждение C5220
ЕМ>Вам известны такие сценарии?

Ну так да. Самый простой сценарий. Есть пременная flag которая в одном потоке читается (что-то в духе
while(flag) {...}

), а во втором изменяется
flag = false


Так вот, изменяя переменную во втором потоке, мы не знаем когда эти изменения "прилетят" в первый поток. Все зависит от того, где находится эта самая переменная, когда будут сброшены процессорные кеши итд.
Re[7]: Volatile и предупреждение C5220
ЕМ>Вам известны такие сценарии?

Ну так да. Самый простой сценарий. Есть пременная flag которая в одном потоке читается, что-то в духе
while(flag) {...}

а во втором изменяется
flag = false


Так вот, изменяя переменную во втором потоке, мы не знаем когда эти изменения "прилетят" в первый поток. Все зависит от того, где находится эта самая переменная, когда будут сброшены процессорные кеши итд.