Raymond Chen a fait un énorme série sur lockfree algorithmes . Au-delà des cas simples de la InterlockedXxx
fonctions, il semble que le modèle dominant avec toutes ces fonctions est qu'elles mettre en place leurs propres verrous . Bien sûr, il n'y a pas de verrous de processeur, mais le concept de boucle sur chaque CPU pour assurer la cohérence est très proche d'un spinlock. Et comme il s'agit d'un spinlock, ils seront moins efficaces que les verrous généraux fournis avec le système d'exploitation, car ils ne cèdent pas le contrôle de leurs quanta en attendant d'autres threads. Par conséquent, chaque fois que quelqu'un vient me voir et me dit "mais mon algorithme est sans verrou", ma réponse générale est "et alors" ?
Je suis curieux y a-t-il repères disponibles qui montrent que les algorithmes sans verrou ont un avantage sur leurs homologues avec verrou ?