Dans l'un de mes fichiers de code, l'une des variables globales qui doit être mise à jour par presque toutes les procédures de ce fichier est verrouillée et déverrouillée avec mutex à chaque fois et à chaque endroit. À mon avis, une trop grande synchronisation avec le verrouillage et le déverrouillage du mutex ralentit nettement la performance. Donc, Ma question est que comment puis-je gagner au niveau de la performance ou comment puis-je réduire l'utilisation de mutex?comment réduire l'utilisation du mutex dans mon code C?
J'espère que ma question est claire sinon laissez-moi savoir. Je vais essayer d'être plus clair.
Les réponses ci-dessous sont excellentes étant donné les détails que vous nous avez fournis. Si vous voulez des réponses plus spécifiques, essayez de poster des parties pertinentes de votre code ... –
Notez que les réponses de Patrick et mouviciel aboutissent au même résultat - évitant le besoin de mutex en éliminant la concurrence difficile, mais par des moyens différents. –
Vous obtiendrez une meilleure réponse si vous nous dites quel type de variable est et ce que les mises à jour signifient sémantiquement. Il peut y avoir de meilleurs moyens de résoudre le problème que vous avez. –