相关疑难解决方法(0)

在多线程程序中增强weak_ptr以实现资源池

我正在考虑使用boost :: weak_ptr来实现一个对象池,这样当没有人使用其中一个对象时它们就会被收获.但我担心的是,它是一个多线程环境,似乎最后一个shared_ptr与一个超出范围的对象和一个从weak_ptr构造的新shared_ptr之间存在竞争条件.通常情况下,您可以通过锁定或其他方式保护此类操作; 但是,这里的重点是你不知道shared_ptr何时可能超出范围.

我是否误解了关于boost :: shared_ptr和boost :: weak_ptr的事情?如果没有,是否有人对如何做有任何好的建议?

谢谢.

安德鲁

c++ multithreading boost smart-pointers

4
推荐指数
1
解决办法
4187
查看次数

标签 统计

boost ×1

c++ ×1

multithreading ×1

smart-pointers ×1