每个进程的 std::shared_ptr
托管对象的最大数量是否有限制?
问这个是因为有一个 maximum number每个进程的互斥量。
如果 std::shared_ptr
的实现是使用互斥量,那么管理对象的对象数量不也有类似的限制吗?
非常欢迎讨论基于互斥锁和基于原子操作的实现的答案。
最佳答案
通常没有,没有限制,因为普通操作系统上的 shared_ptr 实现不在后台使用互斥锁(它们使用原子递增/递减函数)。此外,例如,一个实现可以选择使用单个互斥体来管理所有引用计数访问。在某些情况下可能会很慢,但它可以工作。
关于c++ - 每个进程的最大 std::shared_ptr 管理对象数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919710/