ユーザ定義クラスを設計・実装する場合にも、C++11標準ライブラリと同じ
スレッド安全性レベルを保証すべきである。
この保証レベルを実現するために、クラス内部実装では「mutable修飾された
mutexメンバ変数」を利用した同期処理が必要になる。

http://d.hatena.ne.jp/yohhoy/20130803/p1