#include <cassert>
#include <algorithm>
#include <iostream>
#include <vector>
#include <string.h>
#include <stdexcept>
#include <amino/stdatomic.h>
#include <amino/util.h>
#include <pthread.h>
Go to the source code of this file.
Namespaces | |
namespace | internal |
Classes | |
class | internal::SMRListNode< T > |
This class can represents a node inside retired list of SMR, and a node inside the hazard pointer list. More... | |
class | internal::HPRecType< T, K > |
This is the class to store hazard point. More... | |
class | internal::SMRThreadLocal< T > |
class | internal::SMR< T, K > |
SMR way to prevent ABA for lock-free data structrue based on the following paper:. More... | |
Defines | |
#define | PTHREAD |
Functions | |
template<typename TT, int K> | |
void | internal::retireHPRec (void *thr_local) |
This function is used to clean thread-local SMR data. | |
template<typename T, int K> | |
SMR< T, K > * | internal::getSMR () |
Factory method to return instance of SMR<T, K>. |
#define PTHREAD |
SMR way to prevent ABA for lock-free data structrue based on the following paper: Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects MM Michael - IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2004