Ho una semplice domanda generale su AtomicReference.L'assegnazione di riferimento è atomica, quindi perché utilizzare AtomicReference
Perché utilizzare AtomicReference se l'assegnazione di riferimento è atomica in java?
Inoltre, vorrei chiedere se il riferimento è atomico nelle macchine virtuali a 64 bit?
Abbiamo bisogno di volatilità per avere un sistema di riferimento atomico?
+1 che è esattamente la ragione per tutte le Atomic ... '' classi. –
@JimGarrison non esattamente. le assegnazioni long/float/double non sono atomiche. Assegnerà le due parole all'indirizzo a cui è assegnato in un ordine arbitrario (sarà necessario cercare informazioni sul modello di memoria java). Se hai due thread in competizione per scrivere un valore per quell'indirizzo, puoi ottenere una parola che ha avuto origine nel thread 1 e quindi la seconda parola che ha avuto origine nel thread 2, risultante in un valore di spazzatura – searchengine27
* Può * essere assegnato in un ordine arbitrario. Molte piattaforme hardware supportano larghezze di parola a 64 bit. E su quella nota, questo vale solo per il lungo e il doppio. Non mobile, che è largo 32 bit. –