В многоядерном MacOSX является ли следующий код C++ потокобезопасным?
-
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) для дальнейшего улучшения вашей реализации.
Не связан с StackOverflow