Warum gibt es keine Überladung von Interlocked.Add, die Doubles als Parameter akzeptiert?

Ich weiß die Atomizität der Threading.Interlocked-Klasse zu schätzen. Ich verstehe jedoch nicht, warum die Add-Funktion nur zwei Überladungen bietet: eine für Ganzzahlen, eine andere für Longs. Warum nicht Doubles oder irgendeinen anderen numerischen Typ?

Die beabsichtigte Methode zum Ändern eines Double ist eindeutig CompareExchange. Ich vermute, das liegt daran, dass das Ändern eines Double eine komplexere Operation ist als das Ändern einer Ganzzahl. Mir ist immer noch nicht klar, warum, wenn CompareExchange und Add beide Ganzzahlen akzeptieren können, sie auch nicht beide Doubles akzeptieren können.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage