LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

Глобальная int, меняется в основном цикле.

А какие последствия? В момент когда переменная перезаписывается её читает поток, что, кроме получения неверных данных, может произойти?

Оснавная суть последствий будет в том что если кроме этой перемкнной меняются и какието другие данные — то нить (поток, как ты называешь) которая читает эти данные и переменную прочитать может не в том порядке в котором это было изменено..

И кстати синхронизация фьютексом (мьютексом) конечно эту ситуацию хоть и исправляет — но это как из пушки стрелять по воробьям.

Есть же специально —

memory_order_acquire и memory_order_release

Исходная версия user_id_68054, :

Глобальная int, меняется в основном цикле.

А какие последствия? В момент когда переменная перезаписывается её читает поток, что, кроме получения неверных данных, может произойти?

Оснавная суть послствий будет в том что если кроме этой перемкнной меняются и какието другие данные — то нить которая читает эти данные и переменную прочитать может не в том порядке в котором это было изменено..

И кстати синхронизация фьютексом (мьютексом) конечно эту ситуаию хоть и исправляет — но это как из пушки стрелять пл воробьям.

Есть же специально —

memory_order_acquire и memory_order_release