我想要多个线程来使用BGL的dijkstra_shortest_paths和astar_search函数,然后读取结果顶点和边的属性映射。
我想知道我应该使用互斥锁来确保线程安全。
所以这是我的问题:
1. Boost.Graph线程的dijkstra_shortest_paths和astar_search函数是否安全?
2.如果我只尝试从多个线程读取图形的属性映射,我是否需要担心线程安全?
答案 0 :(得分:1)
截至目前,属性映射和BGL不是线程安全的。有关参考,请参阅this post。
答案 1 :(得分:0)
我不完全确定问题1是什么,但BGL数据结构与STL容器具有相同的线程安全性(即,单独的容器不能以线程不安全的方式共享数据结构,但单个容器上的操作需要同步)。对于问题2,对多个线程的只读访问权限是安全的,至少使用BGL提供的属性映射类型。