Però ora che ci penso, è vero che java è cross-platform, ma è pur vero che la JVM è differente per ogni architettura. Forse la chiave della questione è proprio li, nel senso che sulle architetture che hanno una primitiva hardware di TASTANDSET (o simile) la parola chiave syncronized è implementata in hardware, mentre nelle altre con soluzione software. Che ne pensi?