|
Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
|
Domain managing hazard pointers and retirement for a specific type. More...
#include <hazard_pointer.h>

Classes | |
| struct | stats |
| Get statistics. More... | |
| struct | thread_retire_list |
Public Member Functions | |
| hazard_pointer | acquire () |
| Acquire a hazard pointer for this domain. | |
| void | retire (T *ptr) |
| Retire an object for later reclamation. | |
| size_t | reclaim () |
| Force reclamation scan (optional, for testing) | |
| stats | get_stats () const |
| ~hazard_pointer_domain () | |
| Destructor - ensures all retire objects are reclaimed. | |
Static Public Member Functions | |
| static hazard_pointer_domain & | global () |
| Get the global domain instance for type T. | |
Private Member Functions | |
| hazard_pointer_domain ()=default | |
Static Private Member Functions | |
| static thread_retire_list & | get_thread_retire_list () |
Private Attributes | |
| std::atomic< size_t > | objects_retired_ {0} |
| std::atomic< size_t > | objects_reclaimed_ {0} |
| std::atomic< size_t > | scan_count_ {0} |
Domain managing hazard pointers and retirement for a specific type.
| T | Type of objects protected by this domain |
Definition at line 165 of file hazard_pointer.h.
| kcenon::thread::hazard_pointer_domain< T >::~hazard_pointer_domain | ( | ) |
Destructor - ensures all retire objects are reclaimed.
Definition at line 292 of file hazard_pointer.h.
|
privatedefault |
|
inline |
Acquire a hazard pointer for this domain.
Definition at line 175 of file hazard_pointer.h.
References kcenon::thread::hazard_pointer::hazard_pointer().

| auto kcenon::thread::hazard_pointer_domain< T >::get_stats | ( | ) | const |
Definition at line 281 of file hazard_pointer.h.
References kcenon::thread::detail::hazard_pointer_registry::instance(), and kcenon::thread::detail::thread_hazard_list::MAX_HAZARDS_PER_THREAD.

|
inlinestaticprivate |
Definition at line 230 of file hazard_pointer.h.
|
inlinestatic |
Get the global domain instance for type T.
Definition at line 168 of file hazard_pointer.h.
| size_t kcenon::thread::hazard_pointer_domain< T >::reclaim | ( | ) |
Force reclamation scan (optional, for testing)
Definition at line 261 of file hazard_pointer.h.
References kcenon::thread::detail::global_reclamation_manager::instance(), kcenon::thread::detail::hazard_pointer_registry::instance(), and kcenon::thread::detail::global_reclamation_manager::reclaim().

| void kcenon::thread::hazard_pointer_domain< T >::retire | ( | T * | ptr | ) |
Retire an object for later reclamation.
| ptr | Pointer to object to retire |
Definition at line 244 of file hazard_pointer.h.
|
mutableprivate |
Definition at line 237 of file hazard_pointer.h.
|
mutableprivate |
Definition at line 236 of file hazard_pointer.h.
|
mutableprivate |
Definition at line 238 of file hazard_pointer.h.