Casa Sviluppo Cos'è Atomic in Java? - definizione da techopedia

Cos'è Atomic in Java? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Atomic?

Atomic è un toolkit di classi di pacchetti java.util.concurrent.atomic variabili, che aiutano a scrivere algoritmi di blocco e di attesa con il linguaggio Java. Un algoritmo che richiede solo thread parziali per un progresso costante è privo di blocchi. In un algoritmo senza attesa, tutti i thread avanzano continuamente, anche in caso di interruzione o ritardo del thread. Gli algoritmi di blocco e di attesa sono noti anche come algoritmi non bloccanti. Gli algoritmi di non blocco vengono utilizzati per la pianificazione di processi e thread a livello di sistema operativo e macchina virtuale Java.

Techopedia spiega Atomic

Tutte le classi di pacchetti java.util.concurrent.atomic hanno il prefisso "atomico" nei loro nomi. Esistono diversi tipi di variabili atomiche disponibili nel pacchetto java.util.concurrent.atomic, tra cui:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Nel linguaggio Java, la sincronizzazione coordina l'accesso ai campi thread condivisi e consente solo ai thread in possesso di blocchi di accedere e modificare le variabili protette dal blocco. Le modifiche di questo thread sono visibili al thread che segue, ma solo dopo che il thread rilascia il blocco.

Un esempio è uno scenario in cui il thread A contiene un blocco. A è solo in grado di accedere e apportare modifiche alle variabili protette da questo blocco. Se il thread B contiene questo blocco dopo A, solo B può visualizzare le modifiche di A sulle variabili protette da quel particolare blocco. Il problema principale con il blocco si verifica quando B tenta di acquisire un blocco tenuto da A. In questo caso, B viene bloccato in attesa che il blocco sia disponibile. Gli algoritmi non bloccanti risolvono questo problema.


Lo scopo principale dietro la costruzione di classi atomiche è quello di implementare strutture di dati non bloccanti e le relative classi di infrastruttura. Le classi atomiche non servono come sostituti di java.lang.Integer e delle classi correlate. La maggior parte delle classi di pacchetti java.util.concurrent utilizzano variabili atomiche invece della sincronizzazione, direttamente o indirettamente. Le variabili atomiche vengono inoltre utilizzate per ottenere un throughput più elevato, il che significa maggiori prestazioni del server delle applicazioni.

Questa definizione è stata scritta nel contesto di Java
Cos'è Atomic in Java? - definizione da techopedia