将数据并行添加到哈希图

Adding data to a hashmap in parallel

本文关键字:哈希图 添加 并行 数据      更新时间:2023-10-16

我有一个 std::unordered_map 的实例作为某种数据库。(它基本上只是一个常规的哈希图)。
我有 4 个线程从网络中检索长字符串(我使用的是 c++11 std::threads),在每个线程中,我标记了它们收到的字符串。标记化本身也使用新的 Microsoft AMP 库进行平行化(因此标记化过程由 GPU 线程完成)。

我希望 4 个"主"线程中的每一个在 GPU 线程完成字符串标记化时将令牌作为键添加到哈希图中(然后重复该过程)。

我将如何同步所有这些,以便我可以安全地从每个线程将新密钥添加到我的数据库中?

concurrent_unordered_map.h 中使用 concurrent_unordered_map 而不是 unordered_map