7 Atomic-Variablen
Der lesende oder schreibende Zugriff auf Variablen eines primitiven Datentyps ist, außer bei long und double, in Java atomar, d. h. nicht unterbrechbar. Die Zugriffe auf Referenzvariablen sind dagegen immer atomar, unabhängig davon, ob es sich um eine 32- oder 64-bit-JVM handelt. Werden die Variablen mit volatile gekennzeichnet, ist der Zugriff garantiert immer atomar, unabhängig vom Datentyp1.
Oft besteht aber eine Operation auf einer Variablen aus mehreren Schritten, obwohl im Code dafür nur eine Anweisung angegeben ist. Die Anweisung counter++ besteht z. B. aus den Befehlen:
Laden des Inhalts von counter in ein Register (Lesen).
Registerinhalt wird inkrementiert.
Das Ergebnis wird in counter geschrieben (Schreiben).
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access