//Pszeudo kód //void* -> c# Object, Java Object, c++ template struct Node { Atomic *next; void* data; }; class List { Node head; void add(void* data, void* after) { Node *node = new Node(); node->data = data; //megkeressük after alapján //node ba beállítjuk a next pointert //compare and swapoljuk az előtte álló elem next pointerét //std::atomic::compare_exchange_weak, std::atomic::compare_exchange_strong } void remove(void* data) { //elem megkeres //elem előtte levő elem pointere compareandswap a következő elemre //elem kitöröl } };