0

ある種のデータベースとして機能する std::unordered_map のインスタンスがあります。(基本的には通常のハッシュマップです)。
ネットワークから長い文字列を取得する 4 つのスレッドがあり (c++11 std::threads を使用しています)、それらの各スレッド内で、受け取った文字列をトークン化します。トークン化自体も、新しい Microsoft AMP ライブラリを使用して並列化されます (したがって、トークン化のプロセスは GPU スレッドによって実行されます)。

GPU スレッドが文字列のトークン化を完了する (そしてプロセスを繰り返す) ときに、4 つの「メイン」スレッドのそれぞれがトークンをキーとしてハッシュマップに追加するようにします。

各スレッドからデータベースに新しいキーを安全に追加できるように、これらすべてを同期するにはどうすればよいでしょうか?

4

1 に答える 1

2

コンカレント_unordered_map.hでunordered_mapの代わりにconcurrent_unordered_mapを使用します

于 2012-04-08T17:55:00.000 に答える