Lors de la synchronisation de threads en C#, devrais-je également verrouiller un objet lorsque je lis une valeur ou que je la change juste?Faut-il verrouiller les ressources lors de la lecture des valeurs?
par exemple J'ai file d'attente <T> objet. Est-ce que je devrais juste le verrouiller en faisant les Enqueue et Dequeue ou devrais-je également le verrouiller en vérifiant des valeurs comme le compte?
Cela fonctionnerait, cependant, si vous ne partagez pas un verrou pour toutes les lectures, vous obtiendrez de mauvaises performances car un seul thread peut énumérer la collection en même temps temps. –