История изменений
Исправление
dave,
(текущая версия)
:
Архитектура современных процессоров такова, что без примитивов синхронизации ты сначала в одном потоке может записать одно значение, а в другом потоке уже после прочитать не новое, а старое значение, как бы это нелогично ни звучало. Не знаю, насколько спасает в C++ volatile в таких случаях. В java помог бы, но там все чуточку сложнее (там volatile превратится по факту в atomic).
Исходная версия
dave,
:
Архитектура современных процессоров такова, что без примитивов синхронизации, ты сначала в одном потоке может записать одно значение, а в другом потоке уже после прочитать не новое, а старое значение, как бы это нелогично ни звучало. Не знаю, насколько спасает в C++ volatile в таких случаях. В java помог бы, но там все чуточку сложнее (там volatile превратится по факту в atomic).