Concurrency::concurrent_vector があり、まだ存在しない場合にのみ新しい要素をスレッドセーフにプッシュバックしたい (そのため、最初に検索を実行する必要があります)。どうすればこれを達成できますか? イテレータアクセス(書き込み、同じ要素の読み取り)でスレッドセーフであり、上記で書いたものも許可する並行コレクションが必要です。
質問の絞り込み: ほとんどが同時に検索される場合、使用するのに最適なコンテナーは何でしょうか。要素が見つからない場合 (よりまれ)、insert/push_back が必要になり、検索要素が見つかった場合 (ほとんどの場合) は要素に更新されます。が必要です(同じ反復子の同時更新)
VS2010 で既に利用可能なものから、concurrent_vector を見ましたが、同じ要素を更新するのは安全ではなく、要素が見つからない場合に備えて追加のロックが必要であり、そのために要素を追加する必要があるようです。どう思いますか ?外部ロック (コンテナ全体のロック) を排除するために使用できるものはありますか?