Dom Rozwój Co to jest atomowa w java? - definicja z techopedia

Co to jest atomowa w java? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza Atomic?

Atomic jest zestawem zmiennych klas pakietów java.util.concurrent.atomic, które pomagają w pisaniu algorytmów blokady i oczekiwania w języku Java. Algorytm wymagający tylko częściowych wątków dla ciągłego postępu jest bez blokady. W algorytmie bez czekania wszystkie wątki robią postępy w sposób ciągły, nawet w przypadku awarii lub opóźnienia wątku. Algorytmy blokowania i oczekiwania są również znane jako algorytmy nieblokujące. Algorytmy nieblokujące są używane do planowania procesów i wątków na poziomie systemu operacyjnego i maszyny wirtualnej Java.

Techopedia wyjaśnia Atomic

Wszystkie klasy pakietów java.util.concurrent.atomic mają w swoich nazwach przedrostek „atomowy”. W pakiecie java.util.concurrent.atomic dostępne są różne typy zmiennych atomowych, w tym:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
W języku Java synchronizacja koordynuje dostęp do pól współużytkowanych wątków i pozwala tylko wątkom posiadającym blokady na dostęp i modyfikowanie zmiennych chronionych przez blokadę. Modyfikacje tego wątku są widoczne dla następnego wątku, ale dopiero po zwolnieniu blokady przez wątek.

Przykładem jest scenariusz, w którym wątek A blokuje. A może uzyskiwać dostęp i wprowadzać zmiany do zmiennych chronionych przez tę blokadę. Jeśli wątek B trzyma tę blokadę po A, tylko B może zobaczyć zmiany A w zmiennych chronionych przez tę konkretną blokadę. Główny problem z blokowaniem występuje, gdy B próbuje uzyskać blokadę utrzymywaną przez A. W takim przypadku B jest blokowany, aby poczekać, aż blokada będzie dostępna. Algorytmy nieblokujące rozwiązują ten problem.


Głównym celem budowy klas atomowych jest wdrożenie nieblokujących struktur danych i powiązanych z nimi klas infrastruktury. Klasy atomowe nie służą jako zamienniki java.lang.Integer i klas pokrewnych. Większość klas pakietów java.util.concurrent używa zmiennych atomowych zamiast synchronizacji, bezpośrednio lub pośrednio. Zmienne atomowe są również używane do osiągnięcia wyższej przepustowości, co oznacza wyższą wydajność serwera aplikacji.

Ta definicja została napisana w kontekście Java
Co to jest atomowa w java? - definicja z techopedia