マルチコア 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); }
};

[これは侵襲的なrefcountedポインタの基礎です。参照カウントがオフになっていないことを確認したいだけです]

正しい解決策はありません

他のヒント

ここから見ると大丈夫そうです。使用できる公開例が多数あります (例: counter_t から Adobe ソース ライブラリ) 実装をさらに改善します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top