gpt4 book ai didi

c++ - 可以从并行线程完成对 boost 的 rtree 的查询吗?

转载 作者:太空狗 更新时间:2023-10-29 21:17:27 28 4
gpt4 key购买 nike

我在应用程序中有两个模块。 Module1 拥有并构建 boost::geometry::index::rtreeModule2Module1 进行查询,然后传递给 RTree。现在我想加快速度并拥有多个 Module2 实例,它们对 one Module1 实例进行查询,并分别工作。我 100% 确定,虽然 任何 Module2 工作 RTree 都不会改变

我发现了这个问题:Can I use Boost.Geometry.index.rtree with threads? ,但它描述了更复杂的情况,即从不同线程修改和查询 rtree 时。这个答案是模棱两可的:“没有 boost Rtree 在任何方面都不是线程安全的”在回答中陈述。但在评论中指出:“进行查询是安全的,甚至可以为创建创建解决方法”。什么是正确答案?是否有任何资源可以找到答案,除了直接提出问题来 boost 作者?

我;博士:

从不同线程查询 boost::geometry::index::rtree 是否安全,如果我 100% 确定没有线程修改 RTree?

最佳答案

In answer to linked question: "No boost Rtree is not thread-safe in any way". But in comments: "It is safe to do queries, and it even possible to create workaround for creation". Who is right?

没有矛盾。亚当是作者。每个人都是对的。注意答案也说了

You /can/ run multiple read-only operations in parallel. Usually, library containers are safe to use from multiple threads for read-only operations (although you might want to do a quick scan for any mutable members hidden (in the implementation).

一般来说,只要按位表示不发生变化,并发访问 一切都是安全的。这与库支持无关。

请注意,由于 Adam Wulkiewicz 的权威评论,您不需要“快速扫描”。


脚注:这仍然不能使库线程安全。这是事实,因为 C++ 的内存模型不存在按位常量数据的数据竞争。

关于c++ - 可以从并行线程完成对 boost 的 rtree 的查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739177/

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