#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); }
};

[这是侵入式刷新指针的基础;我只想确保引用计数没有关闭]

最佳答案

从这里看起来还可以。您可以使用许多公共(public)示例(例如 counter_t 中的Adobe Source Libraries)来进一步改进实现。

关于c++ - 在多核MacOSX上,以下c++代码线程安全吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2343724/

10-11 07:21