在线文档教程
C++
动态内存管理 | Dynamic memory management

std::pmr::synchronized_pool_resource

STD::PMR::同步[医]水池[医]资源

Defined in header
class synchronized_pool_resource : public std::pmr::memory_resource;(since C++17)

全班std::pmr::synchronized_pool_resource是具有下列属性的通用内存资源类:

  • 它拥有分配的内存,并在销毁时释放它,即使deallocate未为某些已分配的块调用。

  • 它由一个集合组成。水池它为不同大小的请求提供服务。每个池管理一个然后被分成大小一致的

  • 打电话给do_allocate被分派到为最小块服务的池中,以容纳所请求的大小。

  • 池中的内存耗尽导致对该池的下一个分配请求从上游分配器补充池。得到的块体尺寸呈几何增长。

  • 超过最大块大小的分配请求将从上游分配器直接。

  • 最大块大小和最大块大小可以通过传递std::pmr::pool_options构造函数。

synchronized_pool_resource可以在没有外部同步的情况下从多个线程访问,并且可能有特定于线程的池来降低同步成本。如果仅从一个线程访问内存资源,unsynchronized_pool_resource更有效率。

成员函数

(constructor)Constructs a synchronized_pool_resource (public member function)
(destructor) virtualDestroys a synchronized_pool_resource, releasing all allocated memory (virtual public member function)
operator= deletedCopy assignment operator is deleted. synchronized_pool_resource is not copy assignable (public member function)

公共成员职能

释放所有分配的内存%28公共成员函数%29

上游[医]资源返回指向上游内存资源%28公共成员函数%29的指针。

选项返回控制此资源%28公共成员函数%29的池行为的选项。

受保护成员函数

做[医]分配虚拟分配内存%28虚拟受保护成员函数%29

做[医]释放虚拟将内存返回到池%28虚拟受保护成员函数%29

做[医]是[医]平等虚拟与另一个内存进行相等的比较[医]资源%28虚拟受保护成员函数%29

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/Memory/sync[医]水池[医]资源