Ich würde gerne wissen, ob Thread-Sicherheit bereits eine Rolle spielt bei der Handhabung von Parametern von Mitgliedern in Java.Thread-Sicherheit der Methodenparameter in Java
Sagen Sie bitte eine Methode eines API
boolean moreThanTen(long value) {
if(value > 10) return true;
else return false;
}
würde diese Methode sicher Thread haben?
Ich denke, es wäre da jeder Thread hat einen eigenen Stapel für lokale Variablen, und Grundelemente sind alle in diesem lokalen Stapel gespeichert.
Das einzige, was mich unsicher macht, ist die Tatsache, dass ein long
zwei separate Lesevorgänge und somit im Allgemeinen nicht threadsicher ist.
Meine Frage ist: Kann ich sicher sein, dass der Parameter einer Methode atomar kopiert wird? Wenn ich also ein Grundelement als Parameter verwende (auch float
/long
), kann ich sicher sein, dass beim Kopieren auf eine lokale Variable die Thread-Sicherheit kein Problem ist?
Danke.
Das Fehlen eines veränderbaren Zustands impliziert, dass die Methode threadsicher ist. – Andreas