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) virtual | Destroys a synchronized_pool_resource, releasing all allocated memory (virtual public member function) |
operator= deleted | Copy 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。