提升BGL线程安全性

时间:2010-05-06 20:18:29

标签: c++ boost graph thread-safety shortest-path

我想要多个线程来使用BGL的dijkstra_shortest_paths和astar_search函数,然后读取结果顶点和边的属性映射。

我想知道我应该使用互斥锁来确保线程安全。

所以这是我的问题:

1. Boost.Graph线程的dijkstra_shortest_paths和astar_search函数是否安全?

2.如果我只尝试从多个线程读取图形的属性映射,我是否需要担心线程安全?

2 个答案:

答案 0 :(得分:1)

截至目前,属性映射和BGL不是线程安全的。有关参考,请参阅this post

答案 1 :(得分:0)

我不完全确定问题1是什么,但BGL数据结构与STL容器具有相同的线程安全性(即,单独的容器不能以线程不安全的方式共享数据结构,但单个容器上的操作需要同步)。对于问题2,对多个线程的只读访问权限是安全的,至少使用BGL提供的属性映射类型。