Wann gibt ConcurrentDictionary TryRemove „false“ zurück?
Posted: 13 Jan 2025, 10:03
Wird es nur „false“ zurückgeben, wenn das Wörterbuch keinen Wert für den angegebenen Schlüssel enthält, oder wird es aufgrund von Thread-Race-Bedingungen auch „false“ zurückgeben, z. B. wenn ein anderer Thread etwas hinzufügt/aktualisiert?
Frage im Code:
Bearbeiten:
Ich denke, dass es nur dann false zurückgibt, wenn es keinen Wert für den angegebenen Schlüssel enthält, aber gewünscht wird um ganz sicher zu sein.
Frage im Code:
Code: Select all
ConcurrentDictionary cd = new ConcurrentDictionary();
// This might fail if another thread is adding with key value of 1.
cd.TryAdd(1, "one");
// Will this ever fail if no other thread ever removes with the key value of 1?
cd.TryRemove(1);
Ich denke, dass es nur dann false zurückgibt, wenn es keinen Wert für den angegebenen Schlüssel enthält, aber gewünscht wird um ganz sicher zu sein.