В моей попытке разработать потокобезопасный класс шаблонов слабых указателей C++ мне нужно проверить флаг, указывающий, что объект все еще жив, если да, то увеличивайте счетчик ссылок объекта, и мне нужно выполнить оба действия атомарно.Как сделать сравнение и приращение атомарно?
Я знаю, что функции встроенных функций предоставляются компилятором, например _InterlockedCompareExchange() и _InterlockedIncrement(). Но то, что я хочу, является функцией interlockedCompareIncrement(), существует ли эффективный способ имитации этого внутреннего использования с использованием других примитивов, по крайней мере, на платформе Windows x86?
Если это на Windows, вы должны так сказать. – Gabe