C++11標準ライブラリのスレッド安全性 オブジェクトがスレッド間共有される内部状態を持つ場合でも、データ競合が生じないことを保証する。例:スレッド毎のstd::shared_ptrオブジェクトが同一オブジェクトを指しているとしても、各スレッド上で行われるstd::shared_ptrオブジェクト操作を安全に行える。[7](17.6.5.9/p7) [7]:例えばstd::shared_ptrが参照カウンタ方式で内部実装されていた場合、処理系はその参照カウンタ更新をデータ競合なしに行う義務がある。 std::shared_ptrの参照カウンタはアトミックであることが義務付けられている、という話は前から知っていたものの、どこに書いてあるのかわからず悩んでましたが、id:yohhoy先生がすでに調べてくれてました。 これの経緯としては、N2351 Improving shared_ptr fo