Il y a eu beaucoup de recherches sur les algorithmes d'exclusion mutuelle - par exemple, beaucoup d'entre eux sont présentés dans des manuels classiques tels que The Art of Multiprocessor Programming , où un chapitre entier leur est consacré.
Je me demande quelles sont les situations pratiques où l'on pourrait avoir besoin de ces algorithmes lors de l'ingénierie d'un système simultané, plutôt que d'utiliser des primitives de synchronisation fournies par le langage et le système d'exploitation (par exemple, fournies par la bibliothèque pthread)?
Je peux penser à de nombreux cas particuliers où j'imagine que les primitives standard ne sont pas spécifiquement adaptées à eux, par exemple "un lecteur fréquent et un écrivain peu fréquent", ou vice versa, ou "exactement une opération d'écriture, de nombreux lecteurs", etc. - l'un des algorithmes d'exclusion mutuelle des manuels est-il significativement meilleur en pratique dans de telles situations?
Pour résumer: quels algorithmes d'exclusion mutuelle présentent un intérêt pratique pour un ingénieur qui a déjà à sa disposition une bibliothèque de primitives d'accès simultanées, fournie par le langage?