等待删除shared_ptr的最佳方法

Best way to wait for the deletion of a shared_ptr?

本文关键字:最佳 方法 ptr 删除 shared 等待      更新时间:2023-10-16

我有一个场景,其中创建为shared_ptr的对象是资源,某些步骤必须等到这些资源完全释放。

shared_ptr有成员函数use_count(),但依赖它意味着循环检查效率不高。

shared_ptr包装在另一个类中是一个好主意,该类使用自定义删除器构造它,该删除器设置此包装器的用户可以等待的事件标志(使用 condition_variable (?

或者,创建我自己的shared_ptr来简单地添加此类wait_for_released()功能是否有意义?

您可以使用由拥有资源的对象锁定的互斥锁 - 它们可以从析构函数中释放互斥锁。 服务员等待互斥锁,而不是与共享指针直接相关的任何内容。