マルチコア 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); }
};
[これは侵襲的なrefcountedポインタの基礎です。参照カウントがオフになっていないことを確認したいだけです]
正しい解決策はありません
他のヒント
ここから見ると大丈夫そうです。使用できる公開例が多数あります (例: counter_t
から Adobe ソース ライブラリ) 実装をさらに改善します。
所属していません StackOverflow