4

Est-ce que quelqu'un sait d'une bonne ressource pour la mise en œuvre (ce qui signifie le code source) des types de données habituelles sans verrou. Je pense à des listes, des files d'attente et ainsi de suite?Lockfree collections standard et tutoriel ou articles

Les implémentations de verrouillage sont extrêmement faciles à trouver, mais je ne trouve pas d'exemples d'algorithmes sans verrou et comment fonctionne CAS exactement et comment l'utiliser pour implémenter ces structures.

+0

Une langue en particulier? –

+0

Pas vraiment, j'ai ajouté la balise cependant ... –

Répondre

2

Si C++ est correct avec vous, jetez un oeil à boost::lockfree. Il a des implémentations de file d'attente, de pile et de ringbuffer sans verrou.

Dans la section boost::lockfree::details, vous trouverez une implémentation de verrouillage de listes de blocage sans clé et de pointeurs étiquetés (prévention ABA). Vous verrez également des exemples d'ordre de mémoire explicite via boost::atomic (une version en développement de C++ 0x std::atomic).

Les deux boost::lockfree et boost::atomic ne font pas partie de boost encore, mais les deux ont vu l'attention de la liste de diffusion boost-développement et sont sur le calendrier d'examen.

+0

Le lien vers boost :: lockfree est cassé – user1937198