次のプロパティを適用するのはかなり難しいように見えるため、非アトミック オブジェクトに対してstd::atomic_ref
効率的に (オブジェクトごとに 1 つ) 実装する方法を考えています。std::mutex
atomic_ref を介してオブジェクトに適用されるアトミック操作は、同じオブジェクトを参照する他のすべての atom_ref を介して適用されるアトミック操作に関してアトミックです。
特に、次のコード:
void set(std::vector<Big> &objs, size_t i, const Big &val) {
std::atomic_ref RefI{objs[i]};
RefI.store(val);
}
std::atomic_ref
毎回同じものを何らかの方法で選択する必要があるため、実装が非常に難しいようstd::mutex
です (同じタイプのすべてのオブジェクトによって共有される大きなマスター ロックでない限り)。
何か不足していますか?または、各オブジェクトが実装する責任があるため、アトミックであるか、 ?std::atomic_ref
を運ぶかのいずれかです。std::mutex