【发布时间】:2010-12-11 12:17:36
【问题描述】:
有没有办法在访问时自动锁定 STL 容器,而无需在其周围锁定和释放?
【问题讨论】:
-
另一方面,请注意,任何共享资源都是威胁应用程序并行性的争用点,因此您最好将其保持在最低限度。
-
我不知道自动执行此操作的方法,这并不是真正的问题,因为您经常需要比单个容器的方法更广泛的原子性。例如,您通常希望在插入容器之前先在容器中进行搜索。在这种情况下,搜索和插入必须在一个原子块中进行,而不是两个。另一个“自动锁定”容器不会买任何东西的领域是在该容器中的迭代器上使用 STL 算法。
标签: c++ stl containers boost-thread