xenium
List of all members
xenium::reclamation::he_allocation::static_strategy< K, A, B > Struct Template Reference

Hazard era allocation strategy for a static number of hazard eras per thread. More...

#include <hazard_eras.hpp>

Inherits xenium::reclamation::detail::generic_hazard_era_allocation_strategy< K_, A, B, ThreadControlBlock >.

Detailed Description

template<size_t K = 2, size_t A = 2, size_t B = 100>
struct xenium::reclamation::he_allocation::static_strategy< K, A, B >

Hazard era allocation strategy for a static number of hazard eras per thread.

The threshold for the number of retired nodes is calculated as A * K * num_threads + B; K, A and B can be configured via template parameter.

Note that in contrast to the hazard_pointer reclamation scheme, a hazard_eras::guard_ptr may use the same hazard era entry as a previously created guard_ptr if they observe the same era. However, since this is not guarenteed, one has to use the same upper bound for the number of hazard eras as when using the hazard_pointer scheme.

Template Parameters
KThe max. number of hazard eras that can be allocated at the same time.
A
B