Atomic

Autor: Monica Porter
Erstelldatum: 17 Marsch 2021
Aktualisierungsdatum: 25 Juni 2024
Anonim
Blondie - Atomic (Official Video)
Video: Blondie - Atomic (Official Video)

Inhalt

Definition - Was bedeutet Atomic?

Atomic ist ein Toolkit mit den Paketklassen der Variablen java.util.concurrent.atomic, mit deren Hilfe sperr- und wartefreie Algorithmen in der Java-Sprache geschrieben werden können. Ein Algorithmus, der nur Teil-Threads für einen konstanten Fortschritt benötigt, ist frei von Sperren. In einem wartefreien Algorithmus machen alle Threads einen kontinuierlichen Fortschritt, selbst bei einem Thread-Fehler oder einer Verzögerung. Sperr- und wartefreie Algorithmen werden auch als nicht blockierende Algorithmen bezeichnet. Nicht blockierende Algorithmen werden für die Prozess- und Thread-Planung auf Betriebssystem- und Java Virtual Machine-Ebene verwendet.


Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt Atomic

Alle java.util.concurrent.atomic-Paketklassen haben das Präfix "atomic" im Namen. Im java.util.concurrent.atomic-Paket sind verschiedene Arten von atomaren Variablen verfügbar, darunter:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
In der Java-Sprache koordiniert die Synchronisierung den Zugriff auf gemeinsam genutzte Thread-Felder und ermöglicht nur Threads mit Sperren den Zugriff auf und das Ändern von durch die Sperre geschützten Variablen. Die Änderungen dieses Threads sind für den folgenden Thread sichtbar, jedoch erst, nachdem der Thread die Sperre aufgehoben hat.
Ein Beispiel ist ein Szenario, in dem Thread A eine Sperre enthält. A kann nur auf Variablen zugreifen und Änderungen vornehmen, die durch diese Sperre geschützt sind. Wenn Thread B diese Sperre nach A hält, kann nur B die Änderungen von A an den Variablen anzeigen, die durch diese bestimmte Sperre geschützt sind. Das Hauptproblem beim Sperren tritt auf, wenn B versucht, eine von A gehaltene Sperre abzurufen. In diesem Fall wird B blockiert, um zu warten, bis die Sperre verfügbar ist. Nicht blockierende Algorithmen beheben dieses Problem.

Der Hauptzweck beim Erstellen von Atomklassen besteht darin, nicht blockierende Datenstrukturen und die zugehörigen Infrastrukturklassen zu implementieren. Atomic-Klassen dienen nicht als Ersatz für java.lang.Integer und verwandte Klassen. Die meisten java.util.concurrent-Paketklassen verwenden atomare Variablen anstelle der direkten oder indirekten Synchronisation. Atomvariablen werden auch verwendet, um einen höheren Durchsatz zu erzielen, was eine höhere Anwendungsserverleistung bedeutet. Diese Definition wurde in der Con von Java geschrieben