【问题标题】:Are boost interprocess containers suitable for thread shared storage in the same process?boost进程间容器是否适合同一进程中的线程共享存储?
【发布时间】:2011-02-23 12:23:17
【问题描述】:

我需要一个向量容器在同一进程的两个线程之间共享,为以下方法提供互斥保护访问:

empty
size
erase
push_back

我还希望该集合提供一个迭代器,该迭代器在使用迭代器时锁定容器。本质上,我正在寻找一个带有std::vector<...> 接口但具有并发访问保护的集合,但我似乎找不到任何东西。

boost::interprocess 容器是否适合此应用程序?如果没有,是否有更合适的替代方案或者我必须自己编写?

【问题讨论】:

    标签: c++ multithreading boost containers


    【解决方案1】:

    答案是肯定的——它是合适的。 See here

    【讨论】:

    【解决方案2】:

    如果 boost::interprocess 容器无法正常工作,则可能值得研究 Intel TBB。我最近开始使用它并且非常满意。具体来说,请查看tbb::concurrent_vector。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多