Your task is to implement a concurrent set of integers implemented as a skip list without using locks.
Presentation in PDF
AtomicMarkableReference<Type>
holding reference to the next node and the mark if this
node holding the reference is logically deleted
find(int value)
, which traverses the list until it finds the correct position of the value and deletes the marked nodes during the traversal.
delete(int value)
method with marking of the deleted node beforehand (logical deletion) and with other threads helping with the physical deletion if they find any marked node.
add(int value)
method.
NonblockSkipListSet
together with the test classes you implemented to BRUTE. Please, upload only the mentioned classes - do NOT upload compiled code or libraries). There is no automatic evaluation and the code will be evaluated manually. You will present the code to the tutor and explain what key parts of the code do.There is several available tools that can be used: