Sperre für ConcurrentDictionary beim AddOrUpdate-ing?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Sperre für ConcurrentDictionary beim AddOrUpdate-ing?

Post by Anonymous »

Ich verwende einen ConcurrentDictioanry, um über viele Threads hinweg auf einige Daten zuzugreifen.

Ich habe diesen Artikel gelesen (nach unten scrollen). ), dass die Methode AddOrUpdate nicht in der Sperre ausgeführt wird, sodass sie die Thread-Sicherheit gefährden könnte.

Mein Code lautet wie folgt:

Code: Select all

//keys and bar are not the concern here
ConcurrentDictioanry foo = new ...;
foreach(var key in keys) {
foo.AddOrUpdate(key, new HashSet { bar }, (key, val) => {
val.Add(bar);
return val;
});
}
Soll ich den AddOrUpdate-Aufruf in eine lock-Anweisung einschließen, um sicherzustellen, dass alles threadsicher ist?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post