Lar Desenvolvimento O que é atômico em java? - o que é techopedia

O que é atômico em java? - o que é techopedia

Índice:

Anonim

Definição - O que significa Atomic?

Atomic é um kit de ferramentas das classes de pacotes variáveis ​​java.util.concurrent.atomic, que auxiliam na gravação de algoritmos de bloqueio e sem espera com a linguagem Java. Um algoritmo que requer apenas threads parciais para progresso constante é livre de bloqueios. Em um algoritmo sem espera, todos os threads progridem continuamente, mesmo em casos de falha ou atraso do thread. Os algoritmos de bloqueio e sem espera também são conhecidos como algoritmos sem bloqueio. Os algoritmos de não bloqueio são usados ​​para agendamento de processos e encadeamentos no sistema operacional e nos níveis da máquina virtual Java.

Techopedia explica Atomic

Todas as classes de pacotes java.util.concurrent.atomic têm o prefixo "atomic" em seus nomes. Existem diferentes tipos de variáveis ​​atômicas disponíveis no pacote java.util.concurrent.atomic, incluindo:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Na linguagem Java, a sincronização coordena o acesso a campos de encadeamentos compartilhados e permite apenas que encadeamentos com bloqueios acessem e modifiquem variáveis ​​protegidas pelo bloqueio. As modificações desse segmento são visíveis para o segmento a seguir, mas somente após o lançamento do bloqueio.

Um exemplo é um cenário em que o segmento A mantém um bloqueio. A só pode acessar e fazer alterações nas variáveis ​​protegidas por esse bloqueio. Se o encadeamento B retiver esse bloqueio após A, somente B poderá visualizar as alterações de A nas variáveis ​​protegidas por esse bloqueio específico. O principal problema com o bloqueio ocorre quando B tenta adquirir um bloqueio retido por A. Nesse caso, B é bloqueado para aguardar até que o bloqueio esteja disponível. Algoritmos sem bloqueio resolvem esse problema.


O principal objetivo por trás da construção de classes atômicas é implementar estruturas de dados sem bloqueio e suas classes de infraestrutura relacionadas. As classes atômicas não servem como substitutos para java.lang.Integer e classes relacionadas. A maioria das classes de pacotes java.util.concurrent usa variáveis ​​atômicas em vez de sincronização, direta ou indiretamente. As variáveis ​​atômicas também são usadas para obter maior taxa de transferência, o que significa maior desempenho do servidor de aplicativos.

Esta definição foi escrita no contexto de Java
O que é atômico em java? - o que é techopedia