J'ai pas mal cherché sur Google une file d'attente sans verrou en C++. J'ai trouvé du code et quelques essais - mais rien que je puisse compiler. Un hash sans verrou serait également le bienvenu.
RÉSUMÉ : Jusqu'à présent, je n'ai pas de réponse positive. Il n'y a pas de bibliothèque "prête pour la production", et étonnamment aucune des bibliothèques existantes n'est conforme à l'API des conteneurs STL.
4 votes
Visual Studio 2010 contient une file d'attente sans verrou dans <concurrent_queue.h>.
1 votes
Et il y a un hash_map et un unordered_map à code.msdn.com/concrtextras
0 votes
J'ai lu la documentation sur concurrent_queue.h à l'adresse http://msdn.microsoft.com/en-us/library/ee355358.aspx. Elle ne dit rien sur les verrous. Où puis-je trouver de telles informations ?
0 votes
Concurrent_queue est sans verrou, consultez la documentation générale de l'exécution concurrentielle sur msdn.
2 votes
Il est à noter que, curieusement, le terme "lock-free" ne signifie pas nécessairement qu'il n'y a pas de verrous. Voir fr.wikipedia.org/wiki/Non-blocking_algorithm pour une définition.
0 votes
Boost 1.53 dispose de la bibliothèque Lockfree.
0 votes
Quelqu'un a-t-il mentionné libcds.sourceforge.net (assez récent je suppose) ? De plus, on remarque qu'il n'est pas logique qu'une file d'attente lockfree soit conforme à l'API STL parce que front() et pop() doivent être combinés pour être significatifs.
13 votes
Wow, une question demandant comment résoudre un problème commun mais difficile dans la programmation multithread qui a plusieurs solutions, a généré beaucoup de discussions, et a gagné une tonne d'upvotes... Et 9 ans plus tard, vous la fermez parce qu'elle est hors sujet. Merci pour votre contribution à StackOverflow, NathanOliver, Sir E_net4 the Wise Downvoter, Jean-François Fabre, Machavity, et gre_gor /s
0 votes
Est-ce que quelqu'un parmi les "fermiers" peut donner un indice sur ce qui devrait être considéré comme "hors sujet" ? De mon point de vue, ce problème n'est toujours pas résolu de manière généralisée, réutilisable et multiplateforme ? Comment allez-vous clore cette question ? Ou est-ce que stackoverflow est maintenant un forum réservé aux débutants ?
2 votes
Je dirais que les personnes qui ont fermé la question ne la comprennent probablement pas.
0 votes
"Nous n'autorisons pas les questions portant sur des recommandations de livres, d'outils, de bibliothèques de logiciels, etc. J'ai trouvé un certain nombre d'outils très utiles ici !