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:

  1. Laden des Inhalts von counter in ein Register (Lesen).

  2. Registerinhalt wird inkrementiert.

  3. Das Ergebnis wird in counter geschrieben (Schreiben).

Get Nebenläufige Programmierung mit Java now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.