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}