Quelles sont les opérations en Java sont considérés comme atomique?
Réponses
Trop de publicités?- toutes les missions de types primitifs, sauf pour une longue et double
- toutes les affectations de références
- toutes les opérations de java.de façon concomitante.Atomique* les classes
et probablement quelque chose de plus. Regardez les jls
Mise à jour
Les opérations sur le long et double sont sur la commune de la Cpu 64 bits atomique ainsi, bien qu'il n'y a pas de garantie. Voir aussi cette demande de fonctionnalité.
En Java, la lecture et l'écriture de 32-bits ou plus petites quantités sont garantis d'être atomique.
Atomique, nous entendons chaque action se déroule en une seule étape et ne peut être interrompu. Ainsi, lorsque nous avons des applications multithread, les opérations de lecture et écriture sont thread-safe et ne devrait pas être faite synchronisé.
Par exemple, le code suivant est thread-safe:
public class ThreadSafe
{
private int x;
public void setX(int x)
{
this.x = x;
}
}