В многоядерном MacOSX является ли следующий код C++ потокобезопасным?

StackOverflow https://stackoverflow.com/questions/2343724

  •  23-09-2019
  •  | 
  •  

Вопрос

#define atomicAdd OSAtomicAdd32Barrier

class PtrInterface: public Uncopyable {
  private:
    typedef volatile int RefCount;
    mutable RefCount rc;
  public:
    inline void newRef() const { atomicAdd(1, &rc); }
    inline void deleteRef() const { atomicAdd(-1, &rc); }
};

[Это основа инвазивного указателя с пересчетом;Я просто хочу убедиться, что подсчет реф-счетов не отключен]

Нет правильного решения

Другие советы

Отсюда все выглядит нормально.Существует множество общедоступных примеров, которые вы можете использовать (например, counter_t из Исходные библиотеки Adobe) для дальнейшего улучшения вашей реализации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top