std::map
工場で作成されたオブジェクトを保存してアクセスを提供するために使用するフライウェイトパターンがシリアルで機能しています。ファクトリはiterator
、マップ内のオブジェクトを指すを返します。ファクトリ内のオブジェクトは定数であるため、一度挿入すると、消去されない限り更新されません。
を使用してファクトリを同時に作成したいのtbb::concurrent_hash_map
ですが、返品がどうあるべきかわかりません。を使用することもできますがiterator
(そうする必要がありますconst_iterator
か?)、ドキュメントには、何かがfind
またはinsert
で実行されると、すべてのイテレータが無効になると記載されていconcurrent_hash_map
ます。したがって、読み取り専用アクセスのみが必要なため、を使用できますが、これはシリアル実装( vs )const_accessor
とは異なります。iterator
accessor
どちらを使用するのが良いですか?タイプ(つまり、両方のイテレータ)の一貫性が重要ですか?シリアルとスレッドの両方のコンパイル時オプションが存在する必要があります。