-2
すべて: this pageによると、C++の実装では、スレッドの安全性を保証するために、一般的には原子カウントが使用されますが、これはバグのように見える場合があります。上記のコードが示すようにC++ shared_ptrスレッドの安全を確保する方法は?
`` `
void func2(shared_ptr<int>* x) {
shared_ptr<int> a(*x);
*a += 1;
}
thread func1() {
shared_ptr<int> a1(new int(10));
thread t (func2, &a1);
return t;
}
` ``
関数func2でコピー建設はA1減少の内部参照カウントの後に発生した場合、ポインタは、二回削除されます右?
こちらのバグは、あなたのコードです。 – deviantfan