Der folgende Editor bringt Ihnen einen Artikel, in dem Volatilität die Thread-Sicherheit in Java nicht garantieren kann (Erklärung mit Beispielen). Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor und werfen wir einen Blick darauf
Heute habe ich codiert und untersucht, ob das Schlüsselwort „volatil“ die Thread-Sicherheit garantieren kann. Nach dem Üben kann „volatile“ die Thread-Sicherheit nicht garantieren, sondern nur die Sichtbarkeit. Jeder Thread liest die Daten aus dem Hauptspeicher und nicht aus dem Cache. Der Code wird wie folgt angehängt. Wenn die Synchronisierung entfernt wird, ist das Ergebnis jedes Threads chaotisch, aber das Ergebnis ist korrekt, wenn Sie es hinzufügen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
Das obige ist der detaillierte Inhalt vonEine beispielhafte Erklärung des Problems, dass Volatile die Thread-Sicherheit in Java nicht garantieren kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!