То есть в одном треде изменить несколько объектов атомарно как одной транзакцией а в другом их прочитать и чтобы данные были консистентны
Атомарно нет. Потокобезопасно - можно
Потокобезопасно - защитить эти данные мьютексом, который ты естественно должен проверять сам.
Атомарно это значит транзакция, все данные поменялись, либо ничего не поменялось, если произошел сбой. Такого пока нет в С++.
Потокобезопасно если сделать - эффективно для других потоков это будет выглядеть как вторая операция, поскольку они будут видеть только состояние до и после, но реально это не будет атомарной операцией
Обсуждают сегодня