gpt4 book ai didi

c++ - 是否有必要锁定 STL 容器以读取其数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:36 24 4
gpt4 key购买 nike

我正在编写一个多线程服务器,其中包含 5 或 6 个全局数据结构(映射、 vector 等),并且我正在尝试确定是否需要为某些数据保留互斥锁以便从映射中读取值或 vector ,或者仅当我要更改数据/添加新项目时才需要持有互斥体。

最佳答案

如果多个线程正在访问容器并且至少有一个线程正在修改容器的内容,则您需要同步对容器的访问。如果没有任何线程修改过容器的内容,则不需要同步对它的访问。

[请注意,C++ 语言标准没有提到线程(至少现在还没有),因此根本不需要容器可以从多个线程使用。也就是说,我上面所说的至少对于标准库的所有主要实现都是正确的,并且是即将对 C++ 语言标准进行的 C++0x 修订版的要求。]

关于c++ - 是否有必要锁定 STL 容器以读取其数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690571/

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