C++11標準ライブラリのスマートポインタstd::shared_ptrでは、C++標準ライブラリの既定レベルのスレッド安全性(→id:yohhoy:20120513)を提供する。 同一オブジェクトを指していたとしても、異なる2つのshared_ptrオブジェクトは異なるスレッドからそれぞれ安全に read / modify 操作を行える。 単一のshared_ptrオブジェクトに対して、異なるスレッドからの操作が全て read アクセスであれば安全。 C++11(N3337) 20.7.2.2/p4より引用。 For purposes of determining the presence of a data race, member functions shall access and modify only the shared_ptr and weak_ptr objects th