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