命名空间
变体
操作

std::experimental::pmr::unsynchronized_pool_resource

来自 cppreference.cn
< cpp‎ | 实验性
 
 
 
 
 
class unsynchronized_pool_resource : public memory_resource;
(库基础 TS)

std::experimental::pmr::unsynchronized_pool_resource 是一个通用内存资源类,具有以下属性

  • 它拥有已分配的内存,并在销毁时释放它,即使某些已分配的块尚未调用 deallocate
  • 它由一组**池**组成,用于处理不同大小的块请求。每个池管理一组**块**,这些块随后被划分为大小统一的块。
  • do_allocate 的调用会被分派到为请求大小提供最小块的池。
  • 池中内存耗尽会导致对该池的下一个分配请求从“上游分配器”分配一个额外的内存块来补充池。获得的块大小呈几何级数增长。
  • 超出最大块大小的分配请求直接由“上游分配器”处理。
  • 通过将 std::experimental::pmr::pool_options 结构体传递给其构造函数,可以调整最大块大小和最大块区大小。

unsynchronized_pool_resource 不是线程安全的,不能同时从多个线程访问;如果需要从多个线程访问,请使用 synchronized_pool_resource

[编辑] 成员函数

构造一个 unsynchronized_pool_resource
(public member function) [编辑]
销毁 unsynchronized_pool_resource,释放所有已分配的内存
(virtual public member function) [编辑]
operator=
[已删除]
删除复制赋值运算符。unsynchronized_pool_resource 不可复制赋值
(public member function) [编辑]
公开成员函数
释放所有已分配的内存
(public member function) [编辑]
返回上游内存资源的指针
(public member function) [编辑]
返回控制此资源池化行为的选项
(public member function) [编辑]
受保护的成员函数
[virtual]
分配内存
(virtual protected member function) [编辑]
将内存返回到池中
(virtual protected member function) [编辑]
[virtual]
与另一个 memory_resource 进行相等比较
(virtual protected member function) [编辑]