Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::concurrent::ObjectPool< T > 模板类 参考

并发对象池 更多...

#include <ObjectPool.h>

类 sese::concurrent::ObjectPool< T > 继承关系图:
sese::Noncopyable

Public 类型

using Ptr = std::shared_ptr<ObjectPool<T>>
 对象池智能指针
 
using ObjectPtr = std::shared_ptr<T>
 对象池对象智能指针
 

Public 成员函数

 ~ObjectPool () override
 
ObjectPtr borrow ()
 
- Public 成员函数 继承自 sese::Noncopyable
 Noncopyable ()=default
 
virtual ~Noncopyable ()=default
 
 Noncopyable (const Noncopyable &)=delete
 删除拷贝相关构造函数
 
Noncopyableoperator= (const Noncopyable &)=delete
 删除拷贝相关构造函数
 

静态 Public 成员函数

static Ptr create ()
 

Private 成员函数

 ObjectPool ()=default
 私有构造函数
 

静态 Private 成员函数

static void recycleCallback (const std::weak_ptr< ObjectPool< T > > &wk_pool, T *t)
 

Private 属性

LinkedQueue< T * > queue
 

详细描述

template<typename T>
class sese::concurrent::ObjectPool< T >

并发对象池

模板参数
T池中对象类型

成员类型定义说明

◆ ObjectPtr

template<typename T >
using sese::concurrent::ObjectPool< T >::ObjectPtr = std::shared_ptr<T>

对象池对象智能指针

◆ Ptr

template<typename T >
using sese::concurrent::ObjectPool< T >::Ptr = std::shared_ptr<ObjectPool<T>>

对象池智能指针

构造及析构函数说明

◆ ~ObjectPool()

◆ ObjectPool()

template<typename T >
sese::concurrent::ObjectPool< T >::ObjectPool ( )
privatedefault

私有构造函数

成员函数说明

◆ borrow()

template<typename T >
ObjectPtr sese::concurrent::ObjectPool< T >::borrow ( )
inline

◆ create()

template<typename T >
static Ptr sese::concurrent::ObjectPool< T >::create ( )
inlinestatic

在且仅能在堆上创建对象池

返回
对象池智能指针

◆ recycleCallback()

template<typename T >
static void sese::concurrent::ObjectPool< T >::recycleCallback ( const std::weak_ptr< ObjectPool< T > > & wk_pool,
T * t )
inlinestaticprivate

已借出对象的销毁器

参数
wk_pool对象所属对象池的弱指针,用于执行回收逻辑
t待回收对象

被这些函数引用 sese::concurrent::ObjectPool< T >::borrow().

类成员变量说明

◆ queue


该类的文档由以下文件生成: