|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
险象指针域 更多...
#include <hazard_ptr.hpp>
Public 成员函数 | |
| ~hazard_pointer_domain () | |
| 析构函数 | |
| hazard_pointer_record * | acquire_record () |
| 获取一个可用的险象指针记录 | |
| template<typename T, typename Deleter = default_delete<T>> | |
| void | retire (T *ptr, Deleter deleter=Deleter()) |
| 退役一个对象 | |
| void | reclaim () |
| 手动触发回收 | |
静态 Public 成员函数 | |
| static hazard_pointer_domain & | default_domain () |
| 获取默认的险象指针域 | |
|
inline |
析构函数
释放所有险象指针记录。
在文件 hazard_ptr.hpp 第 232 行定义.
引用了 atomic< T >::load(), hazard_pointer_record::next , 以及 next().
|
inline |
获取一个可用的险象指针记录
首先尝试重用已有的空闲记录,如果没有则创建新记录。
在文件 hazard_ptr.hpp 第 250 行定义.
引用了 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().
|
inlinestatic |
|
inline |
退役一个对象
| T | 对象类型 |
| Deleter | 删除器类型 |
| ptr | 要退役的指针 |
| deleter | 自定义删除器 |
将对象添加到当前线程的退役列表,如果列表大小超过阈值则触发回收。
在文件 hazard_ptr.hpp 第 280 行定义.
引用了 move().