boost指针容器库可以用作线程安全容器集合吗?

发布于 2024-11-30 16:11:10 字数 56 浏览 0 评论 0原文

我们可以使用 boost 指针容器库来保存字符串数组并进行线程安全的推送和弹出以及所有此类操作吗?

Can we use boost Pointer Container Library to keep an array of strings winth thread safe push and pop and all such operations?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独守阴晴ぅ圆缺 2024-12-07 16:11:10

不,就线程安全而言,相同的规则适用于指针容器库和标准 C++ 库容器。它们对于来自不同线程的同时读取访问都是安全的,但必须受到互斥体的保护以防止同时写入访问。

这是因为指针容器库中的容器仅使用相应标准容器的底层container_type来存储对象。例如,boost::ptr_vector 使用std::vector

No, as far as thread safety goes the same rules apply to the pointer container library and the standard C++ library containers. They're both safe for simultaneous read access from different threads but must be protected by mutexes to prevent simultaneous write access.

This is because the containers in the pointer container library simply use an underlying container_type<void*> of the corresponding standard container to store the objects. For instance, boost::ptr_vector uses an std::vector<void*>.

七分※倦醒 2024-12-07 16:11:10

答案是否定的。现在我必须把答案写到最后 30 个字符,而两个字符就足够了。

No is the answer. And now I have to make the answer last 30 characters when two would suffice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文