在同步问题中,weakpointer可以替代互斥或临界区

时间:2014-08-14 05:25:40

标签: c++

我想知道,对于同步问题,是否可以使用弱指针来代替Mutex / Critical Sections。

1 个答案:

答案 0 :(得分:2)

如果您只是同步同步问题,那么当您想要访问该对象时,确保该对象仍然存在,那么从shared_ptr获取weak_ptr将会确保其寿命延长。例如,它仅适用于非常狭窄的场景 - 如果shared_ptr存储在某个容器中,并且可能随时被删除但是未使用,而weak_ptr的代码可能需要实际访问或修改对象的数据内容。

如果您还需要在更新对象中的数据期间防止并发访问,那么您需要的不仅仅是shared_ptr ....