【问题标题】:Boost BGL thread safety提升 BGL 线程安全性
【发布时间】:2010-05-06 20:18:28
【问题描述】:

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

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

所以这是我的问题:

1、Boost.Graph线程的dijkstra_shortest_paths和astar_search函数安全吗?

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

【问题讨论】:

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


    【解决方案1】:

    到目前为止,属性映射和 BGL 不是线程安全的。参考见this post

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      相关资源
      最近更新 更多