findと同時にstl:mapから消去しても大丈夫ですか?同時とは、2つのスレッドが同時に両方を試行し、1つは消去を、もう1つはfindを呼び出すことを意味します。
質問する
158 次
2 に答える
6
もちろん違います。stl::map
自動平衡二分木 (通常は赤黒) に基づいています。erase
最終的に重いツリーの再配置を引き起こす可能性があります。
于 2012-08-19T14:08:40.803 に答える
1
const
同じオブジェクトでメソッドと非メソッドを同時に呼び出すconst
ことはできません。また、2つの非const
メソッドを同時に呼び出すこともできません。const
ただし、2つのメソッドを同時に呼び出すことは問題ありません。これは、標準ライブラリだけでなく、すべての*const
正しいコードに適用されます。
だから、あなたの場合はいいえ、それは安全ではありません。
*内部的にスレッドセーフでない限り、設計が不十分です。そして、標準ライブラリには何もありません。
于 2012-08-19T14:30:18.653 に答える