シナリオは次のとおりです。
1)unordered_map<int, vector<MyClass*>*>
たとえば、キー 1、2、... 8 を追加するとします
2) すべてのキーは、プログラムの初期化時にベクターで設定され、それ以上追加または削除されることはありません
3) スレッド 1 がキー [1] にアクセスする 8 つのスレッドがあります、スレッド 2 がキー [2] にアクセス、... スレッド 8 がキー [8] にアクセス (つまり、スレッド番号はそのキー番号にのみアクセスでき、他のキーにはアクセスできません)
値 vector* を別のヒープに割り当てられたコレクションに再割り当てすることがあります。(つまり、thread1 が実行しますkey[1] = new vector<MyClass*>
)
これはスレッドセーフになると思いますが、正しいですか? そうでない場合は、concurrent_unordered_map を使用すると思います。
ありがとう。