Comment mettre en œuvre la liste de saut sans verrouillage
-
28-09-2019 - |
Question
Je dois mettre en œuvre une liste de saut sans verrou. J'ai essayé de chercher des papiers. Malheureusement, tous trouvé I était des listes individuelles liées sans verrouillage (en plusieurs saveurs). Cependant comment mettre en œuvre la liste de saut sans verrou?
La solution
listes de saut Lock-libres sont décrits dans le livre L'art de la programmation multiprocesseur , et le rapport technique pratique lock-liberté , qui repose sur une thèse de doctorat sur le sujet. La discussion de la liste de saut commence à la page 53. Une mise en œuvre par exemple, à partir de ces sources, est inclus dans ce google projet de code .
Il y a des discussions connexes, des liens vers la littérature et les mises en œuvre (lock sans pas nécessairement) dans les questions SO listes de saut - jamais les utiliser / a>.
Autres conseils
Ce document présente une liste de saut sans blocage et sans attente. Il est facile à mettre en œuvre - j'ai mis cela il y a quelques semaines dans le cadre de la Intel Threading Challenge 2010 (voir l'onglet SkipList à mi-chemin en bas de la page.)
Java inclut une implémentation d'une liste de saut en même temps, java .util.concurrent.ConcurrentSkipListMap .