Accueil Développement Qu'est-ce qui est atomique en Java? - définition de techopedia

Qu'est-ce qui est atomique en Java? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie atomique?

Atomic est une boîte à outils de classes de packages java.util.concurrent.atomic variables, qui aident à écrire des algorithmes de verrouillage et d'attente avec le langage Java. Un algorithme ne nécessitant que des threads partiels pour une progression constante est sans verrouillage. Dans un algorithme sans attente, tous les threads progressent en continu, même en cas de défaillance ou de retard du thread. Les algorithmes de verrouillage et d'attente sont également appelés algorithmes non bloquants. Des algorithmes non bloquants sont utilisés pour la planification des processus et des threads au niveau du système d'exploitation et de la machine virtuelle Java.

Techopedia explique Atomic

Toutes les classes de packages java.util.concurrent.atomic ont le préfixe "atomic" dans leurs noms. Il existe différents types de variables atomiques disponibles dans le package java.util.concurrent.atomic, notamment:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Dans le langage Java, la synchronisation coordonne l'accès aux champs de threads partagés et permet uniquement aux threads détenant des verrous d'accéder et de modifier les variables protégées par le verrou. Les modifications de ce thread sont visibles par le thread qui suit, mais uniquement après que le thread a libéré le verrou.

Un exemple est un scénario où le thread A détient un verrou. A est uniquement en mesure d'accéder aux variables protégées par ce verrou et de les modifier. Si le thread B détient ce verrou après A, alors seul B peut afficher les changements de A sur les variables protégées par ce verrou particulier. Le principal problème de verrouillage se produit lorsque B tente d'acquérir un verrou détenu par A. Dans ce cas, B est bloqué pour attendre que le verrou soit disponible. Les algorithmes non bloquants résolvent ce problème.


L'objectif principal de la construction de classes atomiques est d'implémenter des structures de données non bloquantes et leurs classes d'infrastructure associées. Les classes atomiques ne remplacent pas java.lang.Integer et les classes connexes. La plupart des classes de packages java.util.concurrent utilisent des variables atomiques au lieu de la synchronisation, directement ou indirectement. Les variables atomiques sont également utilisées pour atteindre un débit plus élevé, ce qui signifie des performances de serveur d'applications supérieures.

Cette définition a été écrite dans le contexte de Java
Qu'est-ce qui est atomique en Java? - définition de techopedia