gpt4 book ai didi

c++ - STL Map 或 HashMaps 线程安全吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:38 25 4
gpt4 key购买 nike

我可以在多线程程序中使用 map 或 hashmap 而不需要锁吗?即它们是线程安全的吗?

我想同时从 map 中添加和删除。

那里似乎有很多相互矛盾的信息。

对了,我在Ubuntu 10.04下使用的是GCC自带的STL库

编辑:就像互联网上的其他人一样,我似乎得到了相互矛盾的答案?

最佳答案

您可以安全地同时执行读取操作,即调用 const 成员函数。但是,如果其中一个涉及写入,则您不能同时执行任何操作,即非常量成员函数的调用对于容器来说应该是唯一的,并且不能与任何其他调用混合。

即您不能从多个线程更改容器。所以你需要使用 lock/rw-lock确保访问安全。

关于c++ - STL Map 或 HashMaps 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com