Modell der Implementierung:
class AtomicInteger { private int value;
synchronized int get () { return value; }
synchronized boolean
compareAndSet (int expected, int update) {
if (value == expected) {
value = update ; return true;
} else {
return false; } } }
moderne CPUs haben CAS (oder Äquivalent)
im Befehlssatz (Ü: suche Beispiele in x86-Assembler)
JVM (ab 5.0) hat CAS für Atomic{Integer,Long,Reference}