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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.