/ / shared boost :: shared_ptr <>変数はスレッドセーフですか? [重複] - c ++、boost、shared-ptr

共有boost :: shared_ptr <>変数はスレッドセーフですか? [重複] - c ++、boost、shared-ptr

boost::shared_ptr<A> g_a;

void func1(boost::shared_ptr<A> v)
{
g_a = v;
}

void func2()
{
boost::shared_ptr<A> a = g_a;
// a is good?
}

異なるスレッドからfunc1()とfunc2()を実行すると、func2()は安全ですか?

回答:

回答№1は2

いいえ、データ競争があります。あるスレッドはg_aを書き込み、別のスレッドはg_aを読み込みます。同期が必要です。