如果不同的线程始终使用不同的键,是否可以将它们插入到映射中?

山姆,我不得不

我正在尝试为对象设计消息队列。有一组X线程可以全部向该对象发送消息(待稍后处理)。如果我有一个std::map<thread_id_t, message>,则此线程安全吗,假设线程一仅添加密钥为1的消息,线程2为密钥2的消息,依此类推?

EyasSH

std::map 对于多个同时进行的写程序不是线程安全的。

STL映射不是线程安全的许多原因之一是,STL映射的基础实现是AVL树,在多次插入后需要每隔一段时间重新平衡一次。重新平衡映射会影响多个节点,并且绝对不是线程安全的。

如果您对其中的任何一个听起来很有趣,请参阅Dobb博士关于无锁数据结构的出色文章

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果不同的线程始终使用不同的键,可以将它们插入到映射中吗?

来自分类Dev

C ++多线程-写入同一映射中的不同键会导致问题

来自分类Dev

如果使用不同的对象进行同步,更改是否对其他线程可见?

来自分类Dev

是否可以使用Cassandra中的单个更新命令来设置不同列的映射中每个元素的TTL

来自分类Dev

Envers是否可以针对具有公共映射基类的不同具体派生类使用不同的审核模式?

来自分类Dev

如果两个不同的应用程序使用不同的协议,是否可以在主机上绑定相同的端口?

来自分类Dev

用不同的列名插入..on重复键

来自分类Dev

是否可以根据文件类型使用不同的主题?

来自分类Dev

是否可以使用不同 typeNum 的排版覆盖模板?

来自分类Dev

JVM 线程与 tomcat 线程有什么不同,它们是否有一个映射到内核线程的公共池

来自分类Dev

我可以为不同的键使用不同的pygame.set_repeat()值吗?

来自分类Dev

Excel:是否可以在不同的工作表中查找多个值并使用Sum函数将它们加在一起?

来自分类Dev

是否可以使用使用不同版本的Angular构建的不同角度元素

来自分类Dev

尝试在python django中使用不同的键映射两个对应的值

来自分类Dev

对同一键的大写和小写使用不同的映射

来自分类Dev

使用不同的键对列表进行排序

来自分类Dev

从一个文件中提取两段数据,然后将它们插入到不同文件的两个不同位置

来自分类Dev

如果两个不同的标准有两种不同的数据类型,它们是否可以与 DLOOKUP 一起使用?

来自分类Dev

指向使用不同类型参数的不同函数的指针是否可以兼容?

来自分类Dev

是否可以在运行时在不同的Winform项目上使用不同的配置文件?

来自分类Dev

如何在python geopandas choropleth映射中为子区域应用不同的边框宽度

来自分类Dev

使用AJAX从php文件中获取多个数据,并将它们插入不同的输入字段中

来自分类Dev

使用不同的值插入和删除键时循环字典

来自分类Dev

如何从数据库中提取记录,调整它们并将它们插入不同的列?

来自分类Dev

在OpenMP中使用不同的内核运行与使用不同的线程运行不同吗?

来自分类Dev

SQLite:更新(如果存在)或使用不同表中的select插入

来自分类Dev

我可以使用 openmp 或 pthreads 调用不同线程的相同系统调用吗

来自分类Dev

可以将重载函数的不同变体映射到同一映射中吗?

来自分类Dev

sql到linq使用不同

Related 相关文章

  1. 1

    如果不同的线程始终使用不同的键,可以将它们插入到映射中吗?

  2. 2

    C ++多线程-写入同一映射中的不同键会导致问题

  3. 3

    如果使用不同的对象进行同步,更改是否对其他线程可见?

  4. 4

    是否可以使用Cassandra中的单个更新命令来设置不同列的映射中每个元素的TTL

  5. 5

    Envers是否可以针对具有公共映射基类的不同具体派生类使用不同的审核模式?

  6. 6

    如果两个不同的应用程序使用不同的协议,是否可以在主机上绑定相同的端口?

  7. 7

    用不同的列名插入..on重复键

  8. 8

    是否可以根据文件类型使用不同的主题?

  9. 9

    是否可以使用不同 typeNum 的排版覆盖模板?

  10. 10

    JVM 线程与 tomcat 线程有什么不同,它们是否有一个映射到内核线程的公共池

  11. 11

    我可以为不同的键使用不同的pygame.set_repeat()值吗?

  12. 12

    Excel:是否可以在不同的工作表中查找多个值并使用Sum函数将它们加在一起?

  13. 13

    是否可以使用使用不同版本的Angular构建的不同角度元素

  14. 14

    尝试在python django中使用不同的键映射两个对应的值

  15. 15

    对同一键的大写和小写使用不同的映射

  16. 16

    使用不同的键对列表进行排序

  17. 17

    从一个文件中提取两段数据,然后将它们插入到不同文件的两个不同位置

  18. 18

    如果两个不同的标准有两种不同的数据类型,它们是否可以与 DLOOKUP 一起使用?

  19. 19

    指向使用不同类型参数的不同函数的指针是否可以兼容?

  20. 20

    是否可以在运行时在不同的Winform项目上使用不同的配置文件?

  21. 21

    如何在python geopandas choropleth映射中为子区域应用不同的边框宽度

  22. 22

    使用AJAX从php文件中获取多个数据,并将它们插入不同的输入字段中

  23. 23

    使用不同的值插入和删除键时循环字典

  24. 24

    如何从数据库中提取记录,调整它们并将它们插入不同的列?

  25. 25

    在OpenMP中使用不同的内核运行与使用不同的线程运行不同吗?

  26. 26

    SQLite:更新(如果存在)或使用不同表中的select插入

  27. 27

    我可以使用 openmp 或 pthreads 调用不同线程的相同系统调用吗

  28. 28

    可以将重载函数的不同变体映射到同一映射中吗?

  29. 29

    sql到linq使用不同

热门标签

归档