Es gibt zwei Möglichkeiten, die ich einem vorhandenen Schlüssel in einem gleichzeitigen Wörterbuch in meinem aktuellen Projekt Werte zugewiesen habe.Concurrent Dictionary AddOrUpdate vs Index Hinzufügen
A. concurrentDictionary1[key] = value
;
und
B. concurrentDictionary2.AddOrUpdate(key, value, (k, v) => value);
Wenn ich weiß, dass der 'Schlüssel' vorhanden ist, sind diese funktional äquivalent?
Wird der Schutz durch die Parallelität des Concurrent Dictionary mit der Methode 'A' umgangen?
Was ist der Unterschied hier? Was sind die Gründe dafür, sich gegenseitig zu wählen?
Ich sah in der Dokumentation msdn, und es scheint, dass sie nur ein Concurrent-Wörterbuch mit der Methode 'A' initialisieren, nicht aktualisieren.
Dieses 'concurrentDictionary1 [key] = value' würde keine Ausnahme auslösen, wenn der Schlüssel nicht existiert, stattdessen wird es dem Wörterbuch hinzugefügt. – Habib
@Habib: Ja. Überspringe die Ausnahme genau:/behoben. – Will
Dies ist meine Angst, es scheint, dass der Indexer gut für die Initialisierung ist, aber möglicherweise unerwartet dort agiert, wo Gleichzeitigkeit tatsächlich benötigt wird. – Bob2Chiv