J’essaie d’utiliser boost :: shared_mutex pour implémenter un mutex à plusieurs lecteurs / un seul auteur. Ma question est assez simple: est-il possible pour un thread d’obtenir un access de lecteur à un shared_mutex, lorsqu’un autre thread tente de verrouiller ce shared_mutex pour l’écriture? Par exemple, j’ai 10 threads, un seul d’entre eux peut écrire,
Le shared_mutex est actuellement partagé verrouillé par le thread 2 , ma question est de savoir s’il est possible que le thread 4 puisse accéder en lecture à ce shared_mutex, avant que le thread 3 puisse écrire? Est-il possible pour un lecteur / écrivain mutex d’entrer dans une situation de famine, par exemple 100 lecteurs contre 1 écrivain?
Merci.
Apparemment, boost::shared_mutex
laisse la politique d’équité à la mise en œuvre. Cela peut être soit juste, lecteur sur écrivain, soit auteur sur lecteur. Selon la version choisie, il est donc possible que l’écrivain soit affamé.