NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
hazard_pointer_domain类 参考

险象指针域 更多...

#include <hazard_ptr.hpp>

Public 成员函数

 ~hazard_pointer_domain ()
 析构函数
hazard_pointer_recordacquire_record ()
 获取一个可用的险象指针记录
template<typename T, typename Deleter = default_delete<T>>
void retire (T *ptr, Deleter deleter=Deleter())
 退役一个对象
void reclaim ()
 手动触发回收

静态 Public 成员函数

static hazard_pointer_domaindefault_domain ()
 获取默认的险象指针域

详细描述

险象指针域

管理所有险象指针记录和退役对象回收。每个域独立管理一组记录和回收策略。

在文件 hazard_ptr.hpp166 行定义.

构造及析构函数说明

◆ ~hazard_pointer_domain()

hazard_pointer_domain::~hazard_pointer_domain ( )
inline

析构函数

释放所有险象指针记录。

在文件 hazard_ptr.hpp232 行定义.

引用了 atomic< T >::load(), hazard_pointer_record::next , 以及 next().

成员函数说明

◆ acquire_record()

hazard_pointer_record * hazard_pointer_domain::acquire_record ( )
inline

获取一个可用的险象指针记录

返回
可用的记录指针

首先尝试重用已有的空闲记录,如果没有则创建新记录。

在文件 hazard_ptr.hpp250 行定义.

引用了 hazard_pointer_record::active, atomic< T >::load(), memory_order_acquire, memory_order_relaxed, memory_order_release, hazard_pointer_record::next, atomic< T >::store(), atomic< bool >::store() , 以及 hazard_pointer_record::try_acquire().

◆ default_domain()

hazard_pointer_domain & hazard_pointer_domain::default_domain ( )
inlinestatic

获取默认的险象指针域

返回
默认域的引用

在文件 hazard_ptr.hpp302 行定义.

被这些函数引用 make_hazard_pointer().

◆ retire()

template<typename T, typename Deleter = default_delete<T>>
void hazard_pointer_domain::retire ( T * ptr,
Deleter deleter = Deleter() )
inline

退役一个对象

模板参数
T对象类型
Deleter删除器类型
参数
ptr要退役的指针
deleter自定义删除器

将对象添加到当前线程的退役列表,如果列表大小超过阈值则触发回收。

在文件 hazard_ptr.hpp280 行定义.

引用了 move().


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