ConcurrentDictionary-Fallstricke - Werden Delegiertenfabriken von GetOrAdd und AddOrUpdate synchronisiert?
Die Dokumentation vonConcurrentDictionary
nicht explizit angegeben, daher können wir diese Delegierten wohl nicht erwartenvalueFactory
undupdateValueFactory
Ausführung synchronisieren lassen (aus den Operationen GetOrAdd () und AddOrUpdate ()).
Ich denke also, wir können die Verwendung von Ressourcen, die eine gleichzeitige Steuerung erfordern, nicht implementieren, ohne unsere eigene gleichzeitige Steuerung manuell zu implementieren, vielleicht nur mithilfe von[MethodImpl(MethodImplOptions.Synchronized)]
über die Delegierten.
Habe ich recht? Oder die Tatsache, dassConcurrentDictionary
Ist Thread-sicher, können wir davon ausgehen, dass Anrufe an diese Stellvertreter automatisch synchronisiert werden (auch thread-sicher)?